首页 > 解决方案 > 通过 Python 与 G*Power 通信

问题描述

我想编写一个函数,在使用statsmodelsor执行线性回归之后sklearn,能够与程序G*Power通信以执行功率分析。这样做的原因是我无法使用statsmodels.

statsmodels文档中考虑这个 MWE

import statsmodels.api as sm
import numpy as np

# import data, define endog and exog variables  
duncan_prestige = sm.datasets.get_rdataset("Duncan", "carData")
Y = duncan_prestige.data['income']
X = duncan_prestige.data['education']
X = sm.add_constant(X)

# perform OLS
model = sm.OLS(Y,X)
results = model.fit()

# pull models score parameters required for g*power
r2 = results.rsquared

f2 = r2/(1 - r2) # output: 1.104
n = results.nobs # output: 45
k = results.df_model # output: 1

beta_alpha_ratio = 1

我现在想做的是将f2、和传递给 G*Power n,如屏幕截图所示。kbeta_alpha_ratio

在此处输入图像描述

对于这项工作,可能还需要为 G*Power 字段“测试系列”、“统计测试”和“功率分析类型”传递参数。此外,必须以某种方式单击“计算”。

最终,正如您可能已经猜到的那样,我希望能够在 Python 中阅读 G*Power 的“输出参数”。

这样的事情可能吗?我什至不知道从哪里开始。提前感谢您的任何指点!

标签: pythonscikit-learnstatisticsstatsmodels

解决方案


推荐阅读