در این درس نشان خواهیم داد که چگونه شیب و عرض از مبداء تابع زیر را بدست آوریم

f(x) = 2x + 80

تصویر زیر به شیب و عرض از مبداء اشاره می‌نماید. خط قرمز، ادامه‌ی خط آبی است که در درس قبل آنرا ملاحظه کرده بودیم.

نمایی از شیب و عرض از مبداء نمودار تابع

یافتن شیب

شیب (خط) به اینصورت که اگر متوسط ضربان قلب یک واحد بالا رود، چقدر میزان مصرف کالری افزایش خواهد یافت، تعریف می‌شود. در واقع بما می‌گوید که خط قطری فوق، چه شیبی دارد. می‌توانیم شیب را توسط نسبت تفاضل دو نقطه از نمودار بیابیم.

  • اگر متوسط ضربان قلب 80 باشد، مصرف کالری 240 است
  • اگر متوسط ضربان قلب 90 باشد، مصرف کالری 260 است

مشاهده می‌کنیم که اگر متوسط ضربان قلب 10 واحد افزایش یابد، مصرف کالری 20 واحد بالا می‌رود. پس شیب برابر می‌شود با حاصل تقسیم 20 بر 10 که مساوی است با 2.

از لحاظ ریاضی، شیب (Slope) بصورت زیر تعریف می‌شود:

Slope = f(x2) – f(x1) / x2-x1

  • (x2)f= دومین مشاهده از مصرف کالری
  • f(x1)= اولین مشاهده از مصرف کالری
  • x2= دومین مشاهده از متوسط ضربان قلب
  • x1= اولین مشاهده از متوسط ضربان قلب

Slope = 260 – 240 / 90-80 = 2

در وارد نمودن ترتیب مشاهدات دقت کنید. در غیراینصورت به مقدار صحیحی نخواهید رسید.

استفاده از پایتون برای یافتن شیب

با استفاده از کد زیر می‌توانیم شیب را بدست آوریم:

مثال:

def slope(x1, y1, x2, y2):
   s = (y2-y1)/(x2-x1)
   return s
print (slope(80,240,90,260))

اجرای کد فوق عدد 2 را باز می‌گرداند.

یافتن عرض از مبداء

عرض از مبدا (intercept) برای سازگار نمودن تابع به منظور پیش‌بینی میزان مصرف کالری استفاده می‌گردد. عرض از مبداء جایی است که خط قطری از محور y عبور می‌کند. به بیانی دیگر، عرض از مبداء برابر ایت با مقدار y هنگامی که x=0. در اینجا ملاحظه می‌کنیم که اگر متوسط ضربان قلب صفر باشد، مصرف کالری برابر است با 80. از این رو، عرض از مبداء برابر است با 80. در بعضی از موارد، عرض از مبداء دارای یک معنی عملی و شفاف است و در بعضی از موارد هم معنی خاصی را در بر نخواهد داشت. به سؤال زیر توجه کنید تا منظور جمله‌ی قبل، برای شما روشن‌تر شود.  

آیا صفر بودن میانگین ضربان قلب معنی دارد؟ قطعن  اگر چنین اتفاقی رخ دهد ما دیگر زنده نخواهیم بود که مصرف کالری داشته باشیم. با این اوصاف، مجبور هستیم تا عرض از مبداء را به منظور کامل نمودن توان تابع برای پیش‌بینی درست میزان مصرف کالری، در معادله بگنجانیم. 

مثال‌های نوعی زیر نشان‌دهنده‌ی بامعنی بودن عرض از مبداء هستند:

  • پیش‌بینی درآمد سال آینده با استفاده از مقدار هزینه برای بازاریابی (اگر مقدار سرمایه‌گذاری شرکت روی بازاریابی صفر باشد، چقدر درآمد در سال آتی خواهیم داشت؟). محتمل است که یک شرکت در سال آتی  حتی با اینکه هیچ سرمایه‌گذاری خاصی روی بازاریابی خود نکرده باشد، درآمد بدست آورد.
  • میزان مصرف سوخت با توجه به سرعت (چقدر سوخت مصرف خواهیم کرد اگر سرعت برابر باشد با صفر؟) حتی یک ماشین (روشن) که حرکت نمی‌کند ممکن است که سوخت مصرف نماید.

یافتن شیب و عرض از مبداء با استفاده از پایتون

تابع ()np.polyfit شیب و عرض از مبداء را بازمی‌گرداند. اگر کدهای زیر را اجرا نمائیم، می‌توانیم بطور همزمان هم شیب و هم عرض از مبداء تابع را بدست آوریم.  

مثال:

import pandas as pd
import numpy as np
health_data = pd.read_csv("data.csv", header=0, sep=",")
x = health_data["Average_Pulse"]
y = health_data["Calorie_Burnage"]
slope_intercept = np.polyfit(x,y,1)
print(slope_intercept)

توضیح مثال:

  • متغیرهای x, y، متوسط ضربان قلب و مصرف کالری را از دیتاست بنوعی استخراج می‌کنند
  • تابع ()np.polyfit از نامپای فراخوانده می‌شود
  • آخرین عدد در تابع (x,y,1)polyfit، یعنی عدد 1، درجه‌ی تابع را مشخص می‌کند که در این حالت تابع از درجه‌ی اول یا یک است.

نکته: تمامی توابع خطی از درجه‌ی اول یا یک هستند. مقدار درجه‌ی یک تابع، برابر است با بزرگ‌ترین توان متغیر x. بعنوان مثال تابع f(x)=x^2 + x + 3 یک تابع درجه 2 است. دقت کنید که x^2 یعنی x را به توان 2 رسانده‌ایم.

حال که شیب (2) و عرض از مبداء (80) را بدست آوردیم، می‌توانیم تابع ریاضی را بصورت زیر بنویسیم:

f(x) = 2x + 80

تابع فوق، میزان مصرف کالری را با توجه به متوسط ضربان قلب (متغیر x)، پیش‌بینی می‌نماید.

تمرین:

می‌خواهیم میزان مصرف کالری را اگر متوسط ضربان قلب برابر باشد با 135، بیابیم یا پیش‌بینی کنیم. بخاطر بیاورید که عرض از مبداء یک عدد ثابت است و تغییری نمی‌کند. حال می‌توانیم عدد 135 را با x در معادله‌ی تابع جایگزین کنیم. پس داریم:

f(135) = 2 × 135 + 80 = 350

یعنی اگر متوسط ضربان قلب 135 باشد، میزان مصرف کالری 350 می‌شود.

تعریف یک تابع ریاضی در پایتون

در ادامه کد تابعی که بدست آوردیم را در محیط پایتون خواهیم نوشت.

مثال:

def my_function(x):
  return 2*x + 80
print (my_function(135))

اجرای کد فوق نیز دقیقن عدد 350 را برای ما باز می‌گرداند. می‌توانید بجای x مقادیر 140 و 150 را نیز جایگزین نمائید.

رسم یک گراف جدید در پایتون

در ادامه یک گراف جدید را مشابه با قبل رسم می‌نمائیم، با این تفاوت که در اینجا محورها را کمی تغییر خواهیم داد. مقدار ماکسیمم محور y برابر با 400 است و برای محور x نیز برابر با 150.

مثال:

import matplotlib.pyplot as plt
health_data.plot(x ='Average_Pulse', y='Calorie_Burnage', kind='line'),
plt.ylim(ymin=0, ymax=400)
plt.xlim(xmin=0, xmax=150)
plt.show()

نتیجه‌ی اجرای کد فوق شکل زیر می‌باشد: