日喀則| 海滄| 鄂托克旗| 杭州| 寧遠| 陳巴爾虎旗| 新河| 突泉| 江津| 東沙島| 定安| 蕪湖縣| 印臺| 六盤水| 蒲江| 襄汾| 承德市| 沙灣| 長垣| 永壽| 增城| 威海| 南海| 民勤| 勐臘| 閔行| 康馬| 博湖| 喀喇沁左翼| 西平| 固始| 平鄉| 云集鎮| 景縣| 衛輝| 嵩明| 彝良| 永寧| 沂源| 五峰| 清澗| 平江| 萬盛| 紅河| 子洲| 鳳凰| 東安| 饒陽| 額敏| 武當山| 禮泉| 營山| 荊州| 遼陽縣| 得榮| 福州| 涪陵| 灌南| 合陽| 陳倉| 新化| 延川| 蓬萊| 江城| 鹽都| 黎城| 保亭| 岐山| 彰武| 碾子山| 監利| 香格里拉| 鄰水| 烏拉特前旗| 清鎮| 綏棱| 陜西| 威遠| 肇慶| 趙縣| 平湖| 祁東| 柯坪| 定興| 維西| 靜海| 長島| 山亭| 景谷| 定陶| 瓊海| 府谷| 金陽| 五常| 鎮安| 雜多| 英山| 越西| 巍山| 天安門| 安義| 鄖西| 新縣| 望謨| 天峨| 江西| 元氏| 上饒市| 交口| 睢縣| 鄂州| 樂陵| 嵩明| 故城| 建昌| 離石| 平谷| 寧化| 凌源| 嘉祥| 大方| 永新| 婺源| 翁源| 茂名| 長海| 浦口| 澳門| 科爾沁左翼后旗| 龍崗| 梅州| 新巴爾虎左旗| 略陽| 畹町| 北戴河| 景德鎮| 寧安| 烏蘭| 新城子| 德欽| 息烽| 開陽| 招遠| 明溪| 鄂托克前旗| 蠡縣| 章丘| 貴南| 五原| 灌南| 盧龍| 天全| 吐魯番| 九臺| 邵陽市| 章丘| 渭南| 肅寧| 南匯| 荊門| 靈臺| 尖扎| 榆樹| 汨羅| 昌邑| 納雍| 張家口| 湯原| 奉賢| 唐縣| 福貢| 內鄉| 蒼溪| 師宗| 甌海| 永州| 趙縣| 西藏| 香格里拉| 株洲市| 永勝| 灣里| 隆昌| 浮梁| 望謨| 惠來| 武強| 東鄉| 茂名| 比如| 高縣| 六盤水| 禹州| 昌江| 合浦| 集賢| 杭錦旗| 雷山| 南漳| 嘉黎| 八一鎮| 印江| 牟定| 碭山| 敦化| 泰興| 鶴壁| 通化市| 昆山| 肇東| 大悟| 鹿泉| 美溪| 仁化| 遂寧| 瓊海| 南宮| 門頭溝| 閩清| 開封市| 耒陽| 梓潼| 新竹市| 廈門| 泗陽| 達縣| 三門峽| 連云區| 汾西| 聶榮| 自貢| 晉中| 潞西| 聶拉木| 大名| 遼中| 金州| 高陽| 長泰| 永仁| 南木林| 陸川| 東麗| 吳忠| 靈丘| 岳普湖| 遜克| 鶴崗| 新巴爾虎左旗| 防城港| 沙縣| 香河| 昌平| 額濟納旗| 陽朔| 陽春| 綏陽| 上街| 珊瑚島| 下花園| 青縣| 廣西| 木蘭| 榆中| 華宇娛樂

<th id="pvnt9"><meter id="pvnt9"><dfn id="pvnt9"></dfn></meter></th>

<sub id="pvnt9"></sub>
    <address id="pvnt9"></address>

        <th id="pvnt9"></th>

            <output id="pvnt9"><big id="pvnt9"></big></output>

            |
            |
            51CTO旗下網站
            |
            |
            移動端

            Python數據科學:方差分析

            本次介紹:方差分析:一個多分類分類變量與一個連續變量間的關系。其中分類個數大于兩個,分類變量也可以有多個。當分類變量為多個時,對分類個數不做要求,即可以為二分分類變量。

            作者:小F來源:法納斯特|2018-12-25 13:32

            之前已經介紹的變量分析:

            • ①相關分析:一個連續變量與一個連續變量間的關系。
            • ②雙樣本t檢驗:一個二分分類變量與一個連續變量間的關系。

            本次介紹:

            • 方差分析:一個多分類分類變量與一個連續變量間的關系。

            其中分類個數大于兩個,分類變量也可以有多個。

            當分類變量為多個時,對分類個數不做要求,即可以為二分分類變量。

            一、數理統計技術

            數理統計分為頻率和貝葉斯兩大學派。

            描述性統計分析,描述性分析就是從總體數據中提煉變量的主要信息,即統計量。

            描述性分析的難點在于對業務的了解和對數據的尋找。

            統計推斷和統計建模,建立解釋變量與被解釋變量之間可解釋的、穩定的、最好是具有因果關系的表達式。

            在模型運用時,將解釋變量(自變量)帶入表達式中,用于預測被解釋變量(因變量)的值。

            現階段,我學習的就是統計推斷與建模的知識...

            二、方差分析

            方差分析用于檢驗多個樣本的均值是否有顯著差異。

            探索多于兩個分類的分類變量與連續變量的關系。

            比如說「淺談數據分析崗」中薪水與教育程度之間的關系,教育程度為一個多分類的分類變量。

            01 單因素方差分析

            單因素方差分析的前提條件:

            • ①變量服從正態分布(薪水符合)。
            • ②觀測之間獨立(教育程度符合)。
            • ③需驗證組間的方差是否相同,即方差齊性檢驗。

            組間誤差與組內誤差、組間變異與組內變異、組間均方與組內均方都是方差分析中的衡量標準。

            如果組間均方明顯大于組內均方,則說明教育程度對薪水的影響顯著。

            那么需要大多少才能確定結論呢?

            這里組間均方與組內均方的比值是服從F分布,下面貼出F分布曲線圖。

            Python數據科學:方差分析

            其中橫坐標為F值,即組間均方與組內均方的比值。

            當F值越大時,即組間均方越大、組內均方越小,說明組間的變異大。

            并且對應的P值也越小(縱軸),便可以拒絕原假設(原假設為無差異)。

            下面以「淺談數據分析崗」中薪水與教育程度為例。

            Python數據科學:方差分析

            這里我們只是直觀的看出薪水隨學歷的增長而增長,并沒有實實在在的東西。

            接下來就用數字來說話!!!

            代碼如下,需要清洗數據。

            1. from scipy import stats 
            2. import pandas as pd 
            3. import pymysql 
            4. # 獲取數據庫數據 
            5. conn = pymysql.connect(host='localhost'user='root'password='774110919', port=3306, db='lagou_job', charset='utf8mb4'
            6. cursor = conn.cursor() 
            7. sql = "select * from job" 
            8. df = pd.read_sql(sql, conn) 
            9. # 清洗數據,生成薪水列 
            10. dom = [] 
            11. for i in df['job_salary']: 
            12.     i = ((float(i.split('-')[0].replace('k''').replace('K''')) + float(i.split('-')[1].replace('k''').replace('K'''))) / 2) * 1000 
            13.     dom.append(i) 
            14. df['salary'] = dom 
            15. # 去除無效列 
            16. data = df[df.job_education != '不限'
            17. # 生成不同教育程度的薪水列表 
            18. edu = [] 
            19. for i in ['大專''本科''碩士']: 
            20.     edu.append(data[data['job_education'] == i]['salary']) 
            21. # 單因素方差分析 
            22. print(stats.f_oneway(*edu)) 
            23. # 得到的結果 
            24. F_onewayResult(statistic=15.558365658927576, pvalue=3.0547055604132536e-07) 

            得出結果,F值為15.5,P值接近于0,所以拒絕原假設,即教育程度會顯著影響薪水。

            02 多因素方差分析

            多因素方差分析檢驗多個分類變量與一個連續變量的關系。

            除了考慮分類變量對連續變量的影響,還需要考慮分類變量間的交互效應。

            這里由于我的數據滿足不了本次操作,所以選擇書中的數據。

            即探討信用卡消費與性別、教育程度的關系。

            首先考慮無交互效應,代碼如下。

            1. import statsmodels.formula.api as smf 
            2. import statsmodels.api as sm 
            3. import pandas as pd 
            4. # 讀取數據,skipinitialspace:忽略分隔符后的空白,dropna:對缺失的數據進行刪除 
            5. df = pd.read_csv('creditcard_exp.csv', skipinitialspace=True
            6. df = df.dropna(how='any'
            7. # smf:最小二乘法,構建線性回歸模型, 
            8. ana = smf.ols('avg_exp ~ C(edu_class) + C(gender)', data=df).fit() 
            9. # anova_lm:多因素方差分析 
            10. print(sm.stats.anova_lm(ana)) 

            輸出結果。

            Python數據科學:方差分析

            可以看到教育程度的F值為31.57,P值趨近于0,拒絕原假設,即教育程度與平均支出有顯著差異。

            性別的F值為0.48,P值為0.48,無法拒絕原假設,即性別與平均支出無顯著差異。

            接下來考慮有交互效應,代碼如下。

            1. # 消除pandas輸出省略號情況 
            2. pd.set_option('display.max_columns', 5) 
            3. # smf:最小二乘法,構建線性回歸模型 
            4. anal = smf.ols('avg_exp ~ C(edu_class) + C(gender) + C(edu_class)*C(gender)', data=df).fit() 
            5. # anova_lm:多因素方差分析 
            6. print(sm.stats.anova_lm(anal)) 

            輸出結果。

            Python數據科學:方差分析

            這里可以看出,考慮交互效應后,與教育程度及性別對應的F值和P值都發生了微小的改變。

            其中教育程度和性別的交互項對平均支出的影響也是顯著的,F值為2.22,P值為0.09。

            上面這個結論是書中所說的,那么顯著性水平取的是0.1嗎???

            這算是我理解不了的一部分。

            下面是帶交互項的多元方差分析的回歸系數,表格中所有數據都是以男性及研究生學歷作為基準去比對。

            1. # 生成數據總覽 
            2. print(anal.summary()) 

            輸出結果。

            Python數據科學:方差分析

            可以看出第一種教育程度的女性較男性研究生,信用卡消費的影響較顯著,P值為0.05。

            原假設為無差異,拒絕原假設。

            那么這里的顯著性水平取的也是0.1嗎???

            第二種教育程度的女性較男性研究生,信用卡消費的影響顯著,P值為0.001。

            第三種缺失,沒有參數估計。

            三、總結

            這里總結一下各個檢驗的原假設。

            • 單樣本t檢驗原假設:總體均值與假設的檢驗值不存在顯著差異(無差異)。
            • 雙樣本t檢驗原假設:兩個樣本均值(二分變量下的均值)不存在顯著差異(無差異)。
            • 方差分析原假設:多個樣本均值(多分變量下的均值)不存在顯著差異(無差異)。

            說明原假設都是假設變量關系無顯著差異。

            【編輯推薦】

            1. Gartner:有87%企業的BI和分析成熟度還很低
            2. 用Python分析統計必勝客餐廳
            3. 用Python分析了1w場吃雞數據,原來吃雞要這么玩!
            4. 我爬取分析美團網,原來北京上海Top10美食是它們
            5. 用Python分析“女神大會”,碼農最想娶的女星竟然是......
            【責任編輯:未麗燕 TEL:(010)68476606】

            點贊 0
            大家都在看
            猜你喜歡

            讀 書 +更多

            SUN Solaris 9/10系統管理員認證指南

            本書專門根據SUN官方的SCSA for Solaris 9&10考試大綱撰寫而成,全面覆蓋了SCSA for Solaris 9/10的認證考點,除此之外本書還有大量的非考...

            訂閱51CTO郵刊

            點擊這里查看樣刊

            訂閱51CTO郵刊
            鐵樓藏族鄉 江川路街道 泰然九路 寶雞區 界溪上
            臺江影院 中農鎮 獅仔墓 北長山鄉 盔甲廠胡同
            莊閑游戲網站 皇冠現金代理 萬豪棋牌 威尼斯人網址 mg電子游戲網站
            老虎機規律 同樂城備用網址 捕魚游戲破解 威尼斯人網站 mg游戲破解器
            澳門百老匯賭博平臺 ag電子游戲破解 澳門美高梅注冊 澳門銀河娛樂場注冊 威尼斯人線上官網
            澳門威尼斯人官網 大小點游戲網站 澳門威尼斯人官網 新濠天地線上游戲 澳門番攤賭場
            快三开奖结果

            <th id="pvnt9"><meter id="pvnt9"><dfn id="pvnt9"></dfn></meter></th>

            <sub id="pvnt9"></sub>
              <address id="pvnt9"></address>

                  <th id="pvnt9"></th>

                      <output id="pvnt9"><big id="pvnt9"></big></output>

                      <th id="pvnt9"><meter id="pvnt9"><dfn id="pvnt9"></dfn></meter></th>

                      <sub id="pvnt9"></sub>
                        <address id="pvnt9"></address>

                            <th id="pvnt9"></th>

                                <output id="pvnt9"><big id="pvnt9"></big></output>