我是一名学生,试图完成一项涉及实证分析的大学作业。我们目前正在使用 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', 'gkclsize', 'gkcltype', '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 +...
在那里你可以看到 B1 和 B2 是否相反。但我不认为这是你应该如何证明你的假设。也许做一个简单的线性回归并看到它的结果模型及其每个变量的属性可能是最好的方法。
我假设如果你对第 1 列和第 2 列感兴趣是因为这些是你的 x-(自变量),那么这将使你的列 0 你的 y-(因变量)?
您应该提供有关此的更多信息,并更清楚地了解您正在执行的步骤。代码段仅显示 p 值和 t 值的计算,而不是您引用的列。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(30条)