در این نوشته با توابع ابتدایی مربوط به آمار آشنا خواهیم شد. این توابع عبارت اند از حداقل، حداکثر، متوسط، انحراف معیار، واریانس، همبستگی متقابل، کووارینس و غیره. کتابخانه numpy در زبان برنامهنویسی پایتون این توابع را در اختیار ما قرار داده است.
بسم الله الرحمن الرحیم
سایی دیزیلرییله چالیشیرکن بعضی مقدارلار بیزه داها اؤنملی دیرلر. بو مقدارلار سایی دیزیسینین ان بؤیوک و ان کیچیک ساییسی اولابیلرلر. بونلاردان علاوه سایی دیزیسینین اورتالاماسی، اورتانجیسی، اؤلچوملوک آداشماغی و واریانسی و نئچه سایی دیزیسی آراسیندا باغلانیش و کوواریانس دا بیزه اؤنملی دیرلر. پایتون یازیلیملاما دیلینده، numpy کیتابخاناسی واسطهسییله سایی دیزیلری اوچون سؤزو سورولن مشخصهلری حسابلاماق بو یازینین اساس قونوسو دور.
ان بؤیوک، ان کیچیک، اورتالاما، اورتانجی، اؤلچوملوک آداشماق و واریانس
بیر numpy سایی دیزیسی اوچون ان بؤیوک، ان کیچیک، اورتالاما، اؤلچوملوک آداشماق و واریانس مقدارلارینی حسابلاماق سایی دیزیسی کلاسینین تابعلریندن اولان max، min، mean، std و var تابعلری واسطهسییله ممکن دیر. بو تابعلر گیریشسیز یعنی پارامترسیز چاغیریلارلار. آشاغیداکی اؤرنکله بو تابعلرین نئجه چالیشمالارینی گؤرهجگیک:
from numpy.random import random data = random(100) print("Minimum:", data.min()) print("Maximum:", data.max()) print("Mean:", data.mean()) print("Std.:", data.std()) print("Variance:", data.var())
ایلک سطرده numpy کیتابخاناسینین random ماژولوندان، ایشلدهجگیمیز سایی دیزیسینی اوچراقلی اولاراق یاراتماق اوچون، random تابعینی ادخال ائتمیشیک. اوندان سونرا ادخال ائتدیگیمیز random تابعینی ایشلدهرک یوز اوچراقلی سایییا احتوا ائدن data آدلی سایی دیزیسینی یاراتمیشیق. آردیندان گلن بئش سطرده data سایی دیزیسینین ان کیچیک، ان بؤیوک، اورتالاما، اؤلچوملوک آداشماق و واریانس مقدارلارینی min، max، mean، std و var تابعلرییله حسابلاییب، سونوچو ایسه یازدیرمیشیق.
سایی دیزیسی کلاسی ایچره تعریفلنن بو تابعلرله عینی بیر قیلغیدا اولان عمومی تابعلر ده وار دیر. بونلاری مستقل اولاراق numpy کیتابخاناسیندان ادخال ائدیب، ایشلتمک ممکن دیر. آشاغیداکی اؤرنکله بیر سایی دیزیسینین ان کیچیک، ان بؤیوک، اورتالاما، اورتانجی، اؤلچوملوک آداشماق و واریانس مقدارلارینی باشقا یوللا حسابلایاجاغیق:
from numpy.random import random from numpy import (min, max, mean, median, std, var, ) data = random(100) print("Minimum:", min(data)) print("Maximum:", max(data)) print("Mean:", mean(data)) print("Median:", median(data)) print("Std.:", std(data)) print("Variance:", var(data))
ان کیچیک و ان بؤیوک مقدار یالنیز بیر سایی دیزیسینده دییل، ایکی سایی دیزیسی آراسیندا دا حسابلانابیلر. دئمک ایکی بویوتداش سایی دیزیسینی بیر بیرلرییله قارشیلاشدیریب متناظر عنصرلارین ان کیچیک یا ان بؤیوگونو حسابلاماق دا اولار. بونون اوچون numpy کیتابخاناسیندان minimum و maximum تابعلریندن یارارلانماق ممکن دیر. اؤرنک اولاراق:
from numpy.random import random from numpy import (minimum, maximum, ) data1 = random(100) data2 = random(100) mini = minimum(data1, data2) maxi = maximum(data1, data2)
سایی دیزیلرییله چالیشدیغیمیز زمان بعضا مقدارلاریمیز دوغرو بیر سایی اولماییب، nan اولارلار. nan مقدارلارینا احتوا ائدن بیر سایی دیزیسینده اورتالاما، اورتانجی، اؤلچوملوک آداشماق و واریانسی حسابلاماق اوچون nan مقدارلاریندان واز گئچمهلیییک. numpy کیتابخاناسیندا بونون اوچون اؤزل تابعلر وار دیر. بو تابعلر nanmean، nanmedian، nanstd و nanvar دیرلار. بو تابعلرین ایشلنیشی اؤنجهکیلرله عینی دیر.
باغلانیش و کوواریانس
بو کیتابخانادا correlate و cov تابعلری واسطهسییله ایکی سیگنال آراسیندا باغلانیش و کوواریانسی دا حسابلاماق ممکن دیر. اؤرنک اولاراق ایکی اوچراقلی مقدارلار اساسلی یارانان سیگنال آراسیندا باغلانیش و کوواریانسی حسابلاییریق:
from numpy.random import random from numpy import (correlate, cov, sin, pi, linspace, array, ) import matplotlib.pyplot as plt t = linspace(0., 10., 1000) s1 = sin(t / pi) + 0.1 * (random(1000) - 0.5) s2 = sin(t / pi - pi / 10.) + 0.1 * (random(1000) - 0.5) print("Correlation:", correlate(s1, s2)) s = array([s1, s2]) print("Covariance matrix:") print(cov(s)) plt.figure() plt.plot(t, s1, label="Signal 1") plt.plot(t, s2, label="Signal 2") plt.grid(True) plt.legend() plt.show()
یوزدهبیرلیک و کوانتایل
بونلاردان علاوه numpy کیتابخاناسی واسطهسییله سایی دیزیسی شکلینده اولان وئریلرین یوزدهبیرلیگینی ده الده ائتمک ممکن دیر. بونون اوچون percentile تابعینی ایشلدهبیلریک. آشاغیداکی مثال بو تابعین ایشلنیشینی گؤسترمکده دیر.
from numpy.random import random from numpy import (percentile, arange, ) s = random(100) print("57th percentile:", percentile(s, 57)) print("57th to 64th percentiles:", percentile(s, arange(57, 65)))
بو تابعین ایکی ضرورتلی گیریشی وار دیر. بیرینجیسی وئریلره احتوا ائدن سایی دیزیسی دیر. ایکینجیسی ایسه ایستهدیگیمیز یوزدهبیرلیک یا یوزدهبیرلیکلر سایی دیزیسی دیر. بو تابعین باشقا گیریشلری ده وار دیر. بونلاردان ان اؤنملیسی و linear یازیسی ایله اؤنجهدن مقدارلانان گیریش، یوزدهبیرلیگی حسابلاماق یولو دور. یوزدهبیرلیگی حسابلاماق یولونو بلیرتمک اوچون method گیریشینی مقدارلامالیییق. اونون مقداری
- linear
- inverted_cdf
- averaged_inverted_cdf
- closest_observation
- interpolated_inverted_cdf
- hazen
- weibull
- median_unbiased
- normal_unbiased
یوللاریندان بیری اولابیلر. بو تابعین باشقا گیریشلری ده وار دیر لکن چاغیریلماسی اوچون یالنیز سؤیلنن ایکی گیریشی مقدارلاماق یئترلی دیر. وئریلرده nan مقداری دا اولورسا بو تابع یئرینه nanpercentile تابعینی ایشلتمک ممکن دیر. عین شکلده بو کیتابخانادان quantile تابعینی ده ایشلدهبیلریک. بو تابعده گرک اولان گیریشلر percentile تابعی کیمی دیر. لکن ایکینجی گیریش صفر ایله بیر آراسیندا اولمالی دیر. بو گیریش سایی دیزیسی شکلینده اولورسا، سایی دیزیسیندهکی ساییلار صفر ایله بیر آراسیندا اولمالی دیرلار. بو ساییلار نئچهنجی نئچهدهبیرلیگی گؤستریر. دئمک بو تابع واسطهسییله بیز یوزدهبیرلره محدود دَییلیک. یئنه بو تابع اوچون ده nanquantile نسخهسی وار دیر.
داها آرتیق بیلگی اوچون بو باغلانتینی کلیکلهییب، اوخویابیلرسینیز:
https://numpy.org/doc/stable/reference/routines.statistics.html