发布于2021-03-04 22:20 阅读(381) 评论(0) 点赞(18) 收藏(4)
0
1
2
3
4
5
6
7
8
9
我是一名学生,试图完成一项涉及实证分析的大学作业。我们目前正在使用python进行多元回归,我想知道我是否以正确的方式进行了开发。
我正在尝试做一个假设检验,以检查一个变量的作用是否与另一个变量的作用相同。这只是一个片段,但是您可以想象我有一个数据框,我目前对占用第1列和第2列的变量感兴趣。第0列是添加到模型中的常量。我对么?
import os
import numpy as np
import pandas as pd
import scipy.stats as stats
import statsmodels.api as sm
import matplotlib.pyplot as plt
import seaborn as sns
newvars3 = data[['w_a', 'gender', 'gkclasssize', 'gkclasstype', 'gktyears', 'gkabsent']]
newvars3 = sm.add_constant(newvars3)
modelnewvars3 = sm.OLS(ymath, newvars3, missing='drop')
resultnewvars3 = modelnewvars3.fit()
print(resultnewvars3.summary())
csvnewvars3 = resultnewvars3.summary().as_csv()
open(report_dir + 'summ_newvars3_math.csv', 'w').write(csvnewvars3)
##Testing the effect of gender vs race
R = np.array([0, 1, 1, 0, 0, 0, 0])
tvalue = R @ resultnewvars3.params / (R @ resultnewvars3.cov_params() @ R.T)
pvalue = 2*(1 - stats.norm.cdf(tvalue))
gen_race_hypo_test = pd.Series(np.array([tvalue, pvalue]), index=['T-value', 'P-value'])
gen_race_hypo_test.name = 'Hypothesis test for same effect: Gender vs Race'
print('\n', gen_race_hypo_test)
data ['w_a']是种族的虚拟变量,0是白人/亚洲人,1是其他人。需要统计理论/知识来回答这个问题。
当您进行回归时,您将得到一个模型
y i =β0 +β1 x i1 +β2 x i2 + ... +βp x ip + ϵ
在那里,您可以看到B1和B2是否朝相反的方向前进。但是我不认为那是应该证明你的假设的方式。也许做一个简单的线性回归并查看结果模型及其每个变量的属性可能是最好的方法。
我假设如果您对第1列和第2列感兴趣,是因为它们是您的x-(独立变量),那么那会使您的第0列成为您的y-(独立变量)?对于模型y〜x1和y〜x2。
您应该提供与此有关的更多信息,并更清楚地了解您正在执行的步骤。该代码段仅显示p值和t值的计算,而不显示您所引用的列。
0
1
2
3
4
5
6
7
8
9
作者:黑洞官方问答小能手
链接: https://www.pythonheidong.com/blog/article/878033/15da7d624173473f5a60/
来源: python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!