<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何用python來做假設(shè)檢驗(yàn), 求假設(shè)檢驗(yàn)、置信區(qū)間、效應(yīng)量

          共 1741字,需瀏覽 4分鐘

           ·

          2021-11-07 01:23


          我們?cè)僭谶M(jìn)行數(shù)據(jù)分析時(shí),簡(jiǎn)單的數(shù)據(jù)分析不能深刻的反映一組數(shù)據(jù)得總體情況,倘若我們用統(tǒng)計(jì)學(xué)角度來分析數(shù)據(jù)則會(huì)解決一些平常解決不了得問題.

          本編文章將會(huì)給大家講解 假設(shè)檢驗(yàn)、置信區(qū)間、效應(yīng)量.

          其中假設(shè)檢驗(yàn)包括:t檢驗(yàn),w檢驗(yàn),卡方檢驗(yàn),f檢驗(yàn) ,我將會(huì)一一在這篇文章中介紹并用python代碼來進(jìn)行對(duì)應(yīng)實(shí)操. (話不多說,整起!)

          無論是什么檢驗(yàn)第一步永遠(yuǎn)是 設(shè)立假設(shè)! 就像我們初中學(xué)的一樣已知一個(gè)非負(fù)數(shù)來求解.我們可以先認(rèn)為它等于0,經(jīng)過推到發(fā)現(xiàn)我們做得想法是錯(cuò)誤的,從而推出該數(shù)是大于0的!

          我們通常第一步都會(huì)給出假設(shè)(零假設(shè):H0 備擇假設(shè):H1)

          假設(shè)檢驗(yàn)的規(guī)則如下:H0: 零假設(shè)總是表述為研究沒有改變,沒有效果,不起作用等,這里就是不滿足標(biāo)準(zhǔn)。(w檢驗(yàn)和f檢驗(yàn)另說!) H1: 則與零假設(shè)保持相反 接下里我會(huì)為大家舉倆個(gè)列子:

          例1:H0:在知乎上不同賬號(hào)下瀏覽量沒有顯著區(qū)別 H1在知乎上不同賬號(hào)下的流量量有顯著區(qū)別 例2:H0:煤氣排放量不滿足國(guó)家排放標(biāo)準(zhǔn) H1:煤氣排放量滿足國(guó)家排放標(biāo)準(zhǔn)

          以下是建設(shè)檢驗(yàn)具體步驟

          好了話不多說了,我們開始實(shí)操!ps:一下所有檢驗(yàn)均為a=0.05下:

          卡方檢驗(yàn)

          卡方檢驗(yàn)是假設(shè)檢驗(yàn)中的一類方法,用于比較兩個(gè)分類變量的關(guān)聯(lián)性 但不能表示強(qiáng)弱,基本思想是比較理論頻數(shù)與實(shí)際頻數(shù)的吻合程度。倆個(gè)分類變量中其中一個(gè)必須是二分類不能都是多分類 例:男女對(duì)動(dòng)物的喜愛程度,不同性別下投選候選班長(zhǎng)(小米,小王,小李) 等 二分類:男女,不同性別 多分類:動(dòng)物,候選班長(zhǎng)

          例題 下面是abi啤酒挑戰(zhàn)賽的數(shù)據(jù),我希望知道平臺(tái)和菜系是否存在某種關(guān)系

          我們通過數(shù)據(jù)可以發(fā)現(xiàn)菜系和平臺(tái)都是字符型,這里我們使用一個(gè)交叉表來整理數(shù)據(jù)計(jì)算頻數(shù):

          import?pandas?as?pd
          import?numpy?as?pd
          data=pd.read_excel(r"")????#讀取數(shù)據(jù)文件
          a=pd.crosstab(index=data["平臺(tái)"],columns=data["菜系"],margins=True)???#使用交叉表來處理數(shù)據(jù)
          print(a)????

          我們可以發(fā)現(xiàn)不同平臺(tái)下的各類菜系的頻數(shù)如圖所示,我想知道平臺(tái)和菜系是否存在某種關(guān)系?接下來我們導(dǎo)入統(tǒng)計(jì)學(xué)庫scipy : from scipy import stats Python提供的庫能快速的解決很多問題,那么scipy也是如此,卡方分布在scipy中含有特定的api,我們只需寫上函數(shù)即可知道結(jié)果。

          代碼如下:

          from?scipy?import?stats?????#導(dǎo)入統(tǒng)計(jì)學(xué)庫
          b=stats.chi2_contingency(a)[0:3]????#該函數(shù)返回4個(gè)參數(shù),但我們只要前3個(gè)!???分別是t,p,自由度

          它返回的結(jié)果是元組格式(a:t值,b:p值,c:自由度) 當(dāng)p值小于0.05,則我們拒絕原假設(shè) 當(dāng)p值大于0.05,則我們接受原假設(shè) 如圖所示我們可以看到 p值為1.400*10的負(fù)33次方<0.05,則我們拒絕原假設(shè),接受備擇假設(shè) 既平臺(tái)跟菜系有關(guān)系(但不知道是什么關(guān)系)

          要比較兩類關(guān)系的強(qiáng)弱我們需要用到t檢驗(yàn)和其他檢驗(yàn),接下來我們來講t檢驗(yàn)從而引出w檢驗(yàn)和f檢驗(yàn)

          T檢驗(yàn)

          在說t檢驗(yàn)之前,我們需要進(jìn)一步完善假設(shè)檢驗(yàn)的概念,

          假設(shè)檢驗(yàn)主要分為:1、單尾檢驗(yàn) 2、雙尾檢驗(yàn)

          這倆種檢驗(yàn)存在一下差異:一、檢驗(yàn)?zāi)康牟煌弘p尾檢驗(yàn)(也就是雙側(cè)檢驗(yàn))是要檢驗(yàn)樣本平均數(shù)和總體平均數(shù),或樣本成數(shù)有沒有顯著差異。而單尾檢驗(yàn)(也就是單側(cè)檢驗(yàn))目的是檢驗(yàn)樣本所取自的總體參數(shù)值是否大于或小于某個(gè)特定值

          二、用法不同1、研究目的是想判斷兩個(gè)數(shù)據(jù)的均值是否不同, 需要用雙尾檢驗(yàn)。2、研究目的是僅僅想知道一個(gè)數(shù)據(jù)的均值是不是高于(或低于)另一個(gè)數(shù)據(jù), 則可以采用單尾檢驗(yàn)。實(shí)際操作中要根據(jù)研究的目的和假設(shè)來選擇單尾檢驗(yàn)還是雙尾檢驗(yàn),如果假設(shè)中有一參數(shù)和另一參數(shù)方向性的比較,比如"大于"、“好于”、"差于"等,一般選擇單尾檢驗(yàn)。如果只是檢驗(yàn)兩參數(shù)之間是否有差異,就選擇雙尾檢驗(yàn)。1、如果問題是:中學(xué)生中,男女生的身高是否存在性別差異, 因?yàn)閷?shí)際的差異可能是男生平均身高比女生高,也可能是男生平均比女生矮。這兩種情況都屬于存在性別差異。需要用雙尾檢驗(yàn)。2、如果問題為:中學(xué)生中,男生的身高是否比女生高,這個(gè)時(shí)候需要采用單尾檢驗(yàn)。

          我們先說單側(cè)檢驗(yàn)

          一、單樣本檢驗(yàn)案例:汽車引擎

          “超級(jí)引擎”是一家專門生產(chǎn)汽車引擎的公司,根據(jù)政府發(fā)布的新排放要求,引擎排放平均值要低于20ppm。某公司制造出10臺(tái)引擎供測(cè)試使用,每一臺(tái)的排放水平如下:15.6 16.2 22.5 20.5 16.4 19.4 16.6 17.9 12.7 13.9 Q:怎么知道,該公司生產(chǎn)的引擎是否符合政府規(guī)定呢?

          我們建立一個(gè)array的數(shù)組將數(shù)據(jù)存入,并記入tm的平均數(shù)和 標(biāo)準(zhǔn)差:(方差的1/2方) 平均數(shù):可以反映這組數(shù)據(jù)平均情況 標(biāo)準(zhǔn)差:可以反映這組數(shù)據(jù)的離散情況(方差)越小越穩(wěn)定

          接下來回的我們的問題 設(shè)立零假設(shè)和備選假設(shè)

          零假設(shè)H0:平均值u>=20,也就是該公司引擎排放不滿足標(biāo)準(zhǔn);備選假設(shè)H1:平均值u<20,也就是公司引擎排放滿足標(biāo)準(zhǔn)。

          t檢驗(yàn)需要一個(gè)前提:樣本必須是正態(tài)分布或近似正態(tài)分布,所以我們需要檢驗(yàn)該樣本是否滿足正態(tài)分布 正態(tài)分布檢驗(yàn):W檢驗(yàn)

          Stats.shapiro() w檢驗(yàn)

          H0:屬于正態(tài)分布 H1:不屬于正態(tài)分布

          from?scipy?import?stats????#導(dǎo)入統(tǒng)計(jì)學(xué)模塊庫
          stats.shapiro(data)???????#將參數(shù)data傳入其中即可得到結(jié)果????1、統(tǒng)計(jì)數(shù)???2、p值
          #(0.973,0.921)????p=0.921>0.05???接受原假設(shè)則它屬于正態(tài)分布

          我們可以發(fā)現(xiàn)該組數(shù)據(jù)符合正態(tài)分布,同時(shí)我們也可以用seaborn來進(jìn)行繪圖觀看!

          接下來我們導(dǎo)入scipy中的api來進(jìn)行單樣本t檢驗(yàn)!

          from?scipy?import?stats
          stats.ttest_1samp(a,b)?????#a?:?數(shù)據(jù)集(data)????b:滿足條件(20)

          我們得到如下答案:

          因?yàn)槭菃挝矙z驗(yàn),但是導(dǎo)入的是雙尾api這里就要進(jìn)行運(yùn)算:雙尾=單尾*2,我們用的到的 p值/2 得到 0.00745 即p=0.00745<0.05 則接受備擇假設(shè):我們達(dá)到了政府排放的需求

          接下來我們用置信區(qū)間來表達(dá)我們的平均值范圍:

          置信區(qū)間上限a=總體平均值- |t| 標(biāo)準(zhǔn)誤差 置信區(qū)間下限b=總體平均值+|t| 標(biāo)準(zhǔn)誤差**

          我們需要計(jì)算 標(biāo)準(zhǔn)誤差和t值

          t值計(jì)算

          自由度=n-1 在0.95下在t值表查詢具體的t值** df=10-1=9

          因?yàn)闃颖玖繛?0則自由度=n-1=9,(1-95%=0.05)既在9和0.05那列尋找t值:2.262

          標(biāo)準(zhǔn)誤差:

          from?scipy?import?stats
          stats.sem(data)??# data ?為數(shù)據(jù)集,該函數(shù)只能計(jì)算一個(gè)數(shù)據(jù)集下的標(biāo)準(zhǔn)誤差!

          我們用這段代碼來進(jìn)行分析:

          通過得到t值和標(biāo)準(zhǔn)差b來進(jìn)行公式計(jì)算得到置信區(qū)間的下界和上節(jié),如圖所示:可以得到平均值最大、最小跳動(dòng)在這個(gè)范圍里

          我們拒絕了原假設(shè)則說明我們的統(tǒng)計(jì)有差異,差異有多大呢?此處的差異就是效應(yīng)量

          效應(yīng)量

          效應(yīng)量:當(dāng)假設(shè)檢驗(yàn)具有統(tǒng)計(jì)顯著的結(jié)論時(shí),需要進(jìn)一步研究是否具有實(shí)際有意義,即實(shí)驗(yàn)結(jié)果是否“效果顯著”,衡量效果顯著用Cohen’s d指標(biāo)。#它表示:樣本均值1和樣本均值2差距了幾個(gè)標(biāo)準(zhǔn)差,差距的大小衡量標(biāo)準(zhǔn)是:0.2以內(nèi)為小;0.5以內(nèi)為中;0.8以內(nèi)為大。

          接下里我們用代碼來計(jì)算效應(yīng)量:

          d=(data.mean()-20)/data.std()
          #? d=-0.94 ??????即我們與原假設(shè)差0.94個(gè)標(biāo)準(zhǔn)差!

          從而給出分析報(bào)告

          雙樣本t檢驗(yàn)

          雙樣本t檢驗(yàn)用途很廣:不同賬號(hào)下不同瀏覽量是否有關(guān)系、男女消費(fèi)水平是否有明顯顯著水平差異 等…

          雙樣本t檢驗(yàn)跟單樣本不同,他需要滿足一下幾個(gè)標(biāo)準(zhǔn) ?兩樣本均來自于正態(tài)總體 ?兩樣本相互獨(dú)立 ?滿足方差齊性,方差齊次性指的是樣本的方差在一個(gè)數(shù)量級(jí)水平上(通過方差齊性檢驗(yàn):F檢驗(yàn))

          因?yàn)閮蓚€(gè)樣本是需要相互獨(dú)立的,所以這里就需要使用f檢驗(yàn)來觀看是否滿足方差齊性,不滿足也是可以的,python的api已經(jīng)考慮過這個(gè)問題了,你只需要只能滿不滿足在輸入?yún)?shù)即可

          接下來我會(huì)用下面的例子來進(jìn)行一一講述:

          例:在知乎不同網(wǎng)名下相同文章的瀏覽量是否有顯著差異

          H0:沒有差異 H1:有差異

          這是我這是我自己建立的一張表,來分析知乎一和知乎二名字和瀏覽量是否有顯著性差異

          首先我們第一步要分析是否滿足正態(tài)分布:w檢驗(yàn)

          我們導(dǎo)入對(duì)應(yīng)的api 得到p值分別分 0.62,0.59 >0.05既為正太分布 滿足正態(tài)分布

          F檢驗(yàn)

          H0:倆樣本具有齊次性 H1:倆樣本不具有齊次性

          from?scipy?import?stats
          leneneTestRes=stats.levene(data.iloc[0,1:].values,data.iloc[1,1:].values)
          print(leneneTestRes)
          #

          p=0.242>0.05,則接受原假設(shè),倆樣本方差具有齊次性

          接下來使用雙樣本t檢驗(yàn): P=0.244>0.05,接受原假設(shè),不同名字下瀏覽量沒有差異

          沒有差異下,就可以不用看效應(yīng)量了.

          完整代碼如下:




          Python“寶藏級(jí)”公眾號(hào)【Python之王】專注于Python領(lǐng)域,會(huì)爬蟲,數(shù)分,C++,tensorflow和Pytorch等等

          近 2年共原創(chuàng) 100+ 篇技術(shù)文章。創(chuàng)作的精品文章系列有:

          日常收集整理了一批不錯(cuò)的?Python?學(xué)習(xí)資料,有需要的小伙可以自行免費(fèi)領(lǐng)取。

          獲取方式如下:公眾號(hào)回復(fù)資料領(lǐng)取Python等系列筆記,項(xiàng)目,書籍,直接套上模板就可以用了。資料包含算法、python、算法小抄、力扣刷題手冊(cè)和 C++ 等學(xué)習(xí)資料!

          瀏覽 125
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  人人做人人爱人人爽 | 久久精品视频免费 | 天天干女人网 | 成人免费大片黄在线播放 | 国产一区二区三区在线视频 |