加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Python数据科学:方差说明

发布时间:2018-12-18 20:02:58 所属栏目:教程 来源:小F
导读:之前已经先容的变量说明: ①相干说明:一个持续变量与一个持续变量间的相关。 ②双样本t检讨:一个二分分类变量与一个持续变量间的相关。 本次先容: 方差说明:一个多分类分类变量与一个持续变量间的相关。 个平分类个数大于两个,分类变量也可以有多个
副问题[/!--empirenews.page--]

之前已经先容的变量说明:

  • ①相干说明:一个持续变量与一个持续变量间的相关。
  • ②双样本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)) 

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读