Python數(shù)據(jù)分析之方差分析

問(wèn)題

設(shè)某苗圃對(duì)一花木種子制定了5種不同的處理方法,每種方法處理了6粒種子進(jìn)行育苗試驗(yàn)。一年后觀察苗高獲得資料如下表。已知除處理方法不同外,其他育苗條件相同且苗高的分布近似于正態(tài)、等方差,試以95%的可靠性判斷種子的處理方法對(duì)苗木生長(zhǎng)是否有顯著影響。

數(shù)據(jù)預(yù)處理

  1. 做過(guò)方差分析的都知道,先做個(gè)假設(shè)H0:不同處理方法對(duì)苗木生長(zhǎng)無(wú)顯著影響。
  2. 看下課程老師給的數(shù)據(jù)



    copy出來(lái)的格式很不友好,我就寫(xiě)了一個(gè)python代碼進(jìn)行轉(zhuǎn)化,代碼:

import csv
i = 0
f = open('C://Users/Administrator/Desktop/方差分析.txt','r')
csvfile = open('C://Users/Administrator/Desktop/方差分析.csv','wt',newline='',encoding='utf-8')
writer = csv.writer(csvfile)
for fs in f:
    i = i+1
    contents_1 = fs.strip()
    contents = contents_1.split(',  ')
    for content in contents:
        writer.writerow((content,i))
f.close()
csvfile.close()

可以把數(shù)據(jù)轉(zhuǎn)化為如下格式,方便在python的方差分析中運(yùn)行:


Python方差分析

df = pd.read_excel('C:/Users/Administrator/Desktop/方差分析.xls',header=None,names=['value','group'])
d1 = df[df['group']==1]['value']
d2 = df[df['group']==2]['value']
d3 = df[df['group']==3]['value']
d4 = df[df['group']==4]['value']
d5 = df[df['group']==5]['value']
args = [d1,d2,d3,d4,d5]
f,p = stats.f_oneway(*args)
print(f,p)

結(jié)果如圖:


結(jié)論

查表得F0.05(4,25)=2.76,因?yàn)镕=Sb2/Sw2=4.38﹥F0.05(4,25)=2.76,所以推翻(或者說(shuō)拒絕)假設(shè)H0,即不同的處理方法造成了苗木高生長(zhǎng)的差異顯著。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容