我是一名学生,正在努力完成一项涉及实证分析的大学作业。我们目前正在用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)数据“w_a”是种族的虚拟变量,0代表白人/亚洲人,1代表其他人。回答这个问题需要统计理论/知识。
发布于 2020-12-24 09:33:50
当你做回归时,你会得到一个模型
y i=β0+β1x i1+β2x i2 i2 +...+βpx ip+ϵ
在那里,您可以看到B1和B2是否背道而驰。但我不认为这是你应该证明你的假设的方式。也许做一个简单的线性回归,看看它的结果模型和每个变量的属性可能是最好的方法。
我假设如果你对第一列和第二列感兴趣,是因为它们是你的x-(自变量),那么你的0列就是你的y-(因变量)?对于模型y~x1和y~x2。
您应该提供有关这方面的更多信息,并更清楚地了解您正在执行的步骤。该代码片段仅显示p值和t值的计算,而不显示所引用的列。
https://stackoverflow.com/questions/65432767
复制相似问题