統(tǒng)計(jì)學(xué)初步

for循環(huán)的賦值用法绣夺,極其精妙

  • 一個(gè)數(shù)組的每一個(gè)值增加500賦值給另一個(gè)空數(shù)組
    new_list = [ f + 500 for f in old_list]
  • 一個(gè)數(shù)組包含元素的排列順序1洽腺,2瞻赶,3,4督勺,另一個(gè)數(shù)組為其內(nèi)容的離散排列數(shù)組榴都,需要得到離散數(shù)組中內(nèi)容在數(shù)組1中編號(hào)組成的新數(shù)組契吉。
survey_scale = ["none","a few","some","a lot"]
survey = ["none","some","a lot","a few","some"]
survey_number = [survey_scale.index(item) for item in survey]

Skew數(shù)據(jù)傾斜

  • 如果數(shù)據(jù)直方圖集中在圖像右側(cè),被稱為消極傾斜


  • 如果數(shù)據(jù)集中在圖像左側(cè)屑迂,被稱為積極傾斜


    image.png
  • 如果數(shù)據(jù)集中在直方圖中部浸策,被稱為無傾斜


    image.png

為傾斜賦值
將數(shù)組數(shù)據(jù)賦值給傾斜對(duì)象

from scipy.stats import skew
positive_skew = skew(test_scores_positive)
negative_skew = skew(test_scores_negative)
no_skew = skew(test_scores_normal)
print(negative_skew,positive_skew,no_skew)

output
-0.6093247474592195 0.5376950498203763 0.0223645171350847

kurtosis峰態(tài)

  • 直方圖分布均勻,被稱為平峰態(tài)即platykurtic


    platykurtic
  • 直方圖分布出現(xiàn)只有高聳點(diǎn)惹盼,所有數(shù)據(jù)幾乎相同庸汗,被稱為尖峰態(tài)即leptokurtic


    leptokurtic
  • 直方圖所有值不低也不甚高,叫做常峰態(tài)即mesokurtic


    mesokurtic

負(fù)值分布代表平峰態(tài)手报,正值分布代表尖峰態(tài)蚯舱,0值附近表示常峰態(tài)
峰態(tài)對(duì)象由數(shù)組賦值如下

from scipy.stats import kurtosis
kurt_platy = kurtosis(test_scores_platy)
kurt_lepto = kurtosis(test_scores_lepto)
kurt_meso = kurtosis(test_scores_meso)
print(kurt_platy,kurt_lepto,kurt_meso)

output
-0.9283967256161696 0.023335026722224317 -0.042791859857727044

modaility 模態(tài)

  • 直方圖只有一個(gè)模式改化,稱為單峰unimodal


    unimodal
  • 直方圖有兩個(gè)模式,稱為雙峰bimodal


    bimodal
  • 直方圖多個(gè)模式枉昏,稱為多峰multimodal


    multimodal

mean()
平均值是數(shù)組所有值求和后除以數(shù)組元素?cái)?shù)量陈肛,求平均值plt展示方法,plt.axvline直接畫一條垂直于X軸的線兄裂,標(biāo)注平均值句旱,求數(shù)組平均值則采用array.mean()
下面是求平均值并畫圖

mean_test_score = test_scores_normal.mean()
plt.axvline(mean_test_score)
mean平均數(shù)

median 中位數(shù)
中位數(shù)是數(shù)組排序,取中間一個(gè)數(shù)晰奖,或者兩個(gè)數(shù)的mean谈撒,中位數(shù)對(duì)于特大或者特小數(shù)不敏感,即我們稱之為outliers(異常值)的值畅涂。

  • 求中位數(shù)的方法需要調(diào)用numpy框架
    from numpy import median
    使用函數(shù)
    numpy.median(array)
    如下列為求positive數(shù)組平均值與中位數(shù)的對(duì)比
plt.hist(test_scores_positive)
positive_median = numpy.median(test_scores_positive)
positive_mean = test_scores_positive.mean()
plt.axvline(positive_median,color = "green")
plt.axvline(positive_mean,color = "red")
plt.show()
median中位數(shù)

方差 variance|標(biāo)準(zhǔn)差 Standard deviation

Variance

Standard deviation

求標(biāo)準(zhǔn)差的函數(shù)舉例:求nab_stats數(shù)據(jù)表中mp列和ast列的標(biāo)準(zhǔn)差港华,求方差方法雷同

import numpy
def standard(column):
    mean = column.mean()
    a = 0
    for num in column:
        a += (num - mean) ** 2 / len(column)
    sigma = a ** (1/2)
    return sigma

mp_dev = standard(nba_stats["mp"])
ast_dev = standard(nba_stats["ast"])
print(mp_dev)
print(ast_dev)

output
896.32565278
130.883290708

正態(tài)分布 normal distribution
正態(tài)分布繪制需要依賴幾率密度函數(shù),需要加載norm模塊中的pdf函數(shù)來實(shí)現(xiàn)午衰,比如繪制從-10到10步進(jìn)為0.1的圖形內(nèi)立宜,平均值為0方差為2的正態(tài)分布圖

import numpy as np
import matplotlib.pyplot as plt
# The norm module has a pdf function (pdf stands for probability density function)
from scipy.stats import norm

points2 = np.arange(-10,10,0.1)  
probabilities2 = norm.pdf(points,0,2)
plt.plot(points,probabilities2)
plt.show()
正態(tài)分布

求正態(tài)分布中距離mean多少個(gè)標(biāo)準(zhǔn)差內(nèi)的比例問題的方法,思路可以轉(zhuǎn)換為算出每一個(gè)值與mean的差值除以標(biāo)準(zhǔn)差臊岸,就能夠得到一個(gè)所有值距離mean的標(biāo)準(zhǔn)差數(shù)量list橙数,然后直接調(diào)用一個(gè)函數(shù)就能夠計(jì)算出某個(gè)標(biāo)準(zhǔn)差內(nèi)的數(shù)據(jù)比例是多少,具體代碼如下

import numpy
def standard(column):  #求標(biāo)準(zhǔn)差的函數(shù)
    mean = sum(column)/len(column)
    a = 0
    for num in column:
        a += (num - mean) ** 2 / len(column)
    sigma = a ** (1/2)
    return sigma
wing_lengths = [36, 37, 38, 38, 39, 39, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 51, 51, 51, 51, 52, 52, 53, 53, 54, 55]

mean = sum(wing_lengths)/len(wing_lengths)
standard_deviation = standard(wing_lengths)

standard_deviations = [(item - mean)/standard_deviation for item in wing_lengths]  #關(guān)鍵步驟帅戒,求出了每個(gè)值跟mean差幾個(gè)標(biāo)準(zhǔn)差的數(shù)組

def percentage(column,count):    #標(biāo)準(zhǔn)差數(shù)組在某個(gè)標(biāo)準(zhǔn)差數(shù)量內(nèi)的比例函數(shù)
    num = len([item for item in column if item <= count and item >= -count])/len(wing_lengths)
    return num

within_one_percentage = percentage(standard_deviations,1)  #求一個(gè)標(biāo)準(zhǔn)差內(nèi)的數(shù)據(jù)比例
within_two_percentage = percentage(standard_deviations,2)  #求兩個(gè)標(biāo)準(zhǔn)差內(nèi)的數(shù)據(jù)比例
within_three_percentage = percentage(standard_deviations,3)  #求三個(gè)標(biāo)準(zhǔn)差內(nèi)的數(shù)據(jù)比例
print(within_one_percentage,within_two_percentage,within_three_percentage)

output
0.68 0.96 1.0

正相關(guān)positively correlated灯帮、負(fù)相關(guān)negative correlated、不相關(guān)uncorrelated

positively correlated

negative correlated

uncorrelated

使用離散圖畫法可明了觀察出x軸與y軸兩種變量的相關(guān)性

import matplotlib.pyplot as plt
plt.scatter(nba_stats["fga"], nba_stats["pts"])
plt.show()

相關(guān)系數(shù) Pearson's r

需要import pearsonr 框架逻住,求得兩組serices數(shù)據(jù)對(duì)應(yīng)的相關(guān)性值钟哥,r值取值范圍為[-1,1]瞎访,越接近[-1,0)為負(fù)相關(guān)腻贰,0為不相關(guān),(0,1] 為正相關(guān)

from scipy.stats.stats import pearsonr
r_fta_pts, p_value = pearsonr(nba_stats["fta"],nba_stats["pts"])
print(r_fta_pts)
r_stl_pf, p_value = pearsonr(nba_stats["stl"],nba_stats["pf"])
print(r_stl_pf)

output
0.918978538402
0.737628216749

協(xié)方差 covariance

兩個(gè)變量是相互獨(dú)立的扒秸,但也有相似的方式播演。例如,當(dāng)一個(gè)變量上升時(shí)伴奥,另一個(gè)變量也會(huì)上升写烤。這就是所謂的協(xié)方差。協(xié)方差指的是不同的數(shù)字是如何相互變化的拾徙。

有兩個(gè)變量可以相互改變的極限洲炊。這是因?yàn)槊總€(gè)變量都有自己的方差。這些方差為兩個(gè)變量之間的協(xié)方差設(shè)定了最大的理論極限。換句話說选浑,一組變量不能因均值而異蓝厌,而這兩個(gè)變量的均值各不相同。當(dāng)兩個(gè)變量以一種完全相同的方式變化時(shí)古徒,兩個(gè)變量可以達(dá)到最大可能的協(xié)方差(ux是x serices的mean值)


covariance

下面是舉了兩個(gè)column數(shù)據(jù)的協(xié)方差求法拓提,先定義了一個(gè)求協(xié)方差公式

def covariance(column1,column2):
    mean1 = column1.mean()
    mean2 = column2.mean()
    cov = [(column1[i] -mean1)*(column2[i] - mean2) for i in range(len(column1))]     #核心語句,用range迭代生成cov數(shù)組
    cov_total = sum(cov)/len(column1)
    return cov_total

cov_stl_pf = covariance(nba_stats["stl"],nba_stats["pf"])
cov_fta_pts = covariance(nba_stats["fta"],nba_stats["pts"])
print(cov_stl_pf,cov_fta_pts)

Output
1823.35484805 56618.4139807

r值的實(shí)際計(jì)算方法

r值是實(shí)際協(xié)方差和最大可能正協(xié)方差的比值隧膘。

r值

計(jì)算標(biāo)準(zhǔn)差最終我們使用std()函數(shù)
nba_stats["pf"].std()
計(jì)算協(xié)方差我們是用numpy框架中cov函數(shù)進(jìn)行計(jì)算
cov(nba_stats["pf"], nba_stats["stl"])[0,1]

下面是計(jì)算協(xié)方差的一個(gè)舉例

from numpy import cov
r_fta_blk = cov(nba_stats["fta"],nba_stats["blk"])[0,1]/ (nba_stats["fta"].std() * nba_stats["blk"].std())#將協(xié)方差和兩組column的標(biāo)準(zhǔn)差代入到公式中代态,就能得到r的值,即相關(guān)系數(shù)
r_ast_stl = cov(nba_stats["ast"],nba_stats["stl"])[0,1]/ (nba_stats["ast"].std() * nba_stats["stl"].std())
print(r_fta_blk,r_ast_stl)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末疹吃,一起剝皮案震驚了整個(gè)濱河市蹦疑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌萨驶,老刑警劉巖歉摧,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異腔呜,居然都是意外死亡叁温,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門核畴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來膝但,“玉大人,你說我怎么就攤上這事谤草「” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵丑孩,是天一觀的道長冀宴。 經(jīng)常有香客問我,道長温学,這世上最難降的妖魔是什么花鹅? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮枫浙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘古拴。我一直安慰自己箩帚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布黄痪。 她就那樣靜靜地躺著紧帕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上是嗜,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天愈案,我揣著相機(jī)與錄音,去河邊找鬼鹅搪。 笑死站绪,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的丽柿。 我是一名探鬼主播恢准,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼甫题!你這毒婦竟也來了馁筐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤坠非,失蹤者是張志新(化名)和其女友劉穎敏沉,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體炎码,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盟迟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了辅肾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片队萤。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖矫钓,靈堂內(nèi)的尸體忽然破棺而出要尔,到底是詐尸還是另有隱情,我是刑警寧澤新娜,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布赵辕,位于F島的核電站,受9級(jí)特大地震影響概龄,放射性物質(zhì)發(fā)生泄漏还惠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一私杜、第九天 我趴在偏房一處隱蔽的房頂上張望蚕键。 院中可真熱鬧,春花似錦衰粹、人聲如沸锣光。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽誊爹。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間频丘,已是汗流浹背办成。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留搂漠,地道東北人迂卢。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像状答,于是被迫代替她去往敵國和親冷守。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容