以下是一个使用Python中的statsmodels库来拟合两个不同的多重GLM泊松模型回归的示例代码:
import numpy as np
import statsmodels.api as sm
# 生成数据
np.random.seed(0)
n = 1000
x1 = np.random.normal(0, 1, n)
x2 = np.random.normal(0, 1, n)
y = np.random.poisson(np.exp(2 + 0.5 * x1 + 0.8 * x2))
# 构建第一个GLM模型:y ~ x1
X1 = sm.add_constant(x1)
model1 = sm.GLM(y, X1, family=sm.families.Poisson()).fit()
# 构建第二个GLM模型:y ~ x2
X2 = sm.add_constant(x2)
model2 = sm.GLM(y, X2, family=sm.families.Poisson()).fit()
# 输出模型结果
print("Model 1:")
print(model1.summary())
print("\nModel 2:")
print(model2.summary())
这段代码首先使用np.random
生成了两个正态分布的随机变量作为自变量x1
和x2
,然后使用np.random.poisson
生成了因变量y
,其中参数为np.exp(2 + 0.5 * x1 + 0.8 * x2)
,即一个多重GLM泊松模型。
然后,通过sm.add_constant
为自变量添加常数列,并使用sm.GLM
构建了两个GLM模型,分别拟合了y ~ x1
和y ~ x2
的关系。
最后,使用model.summary()
方法输出模型的平均点估计和置信区间等统计信息。
请注意,以上代码仅为示例,实际应用中需要根据数据的特点和需求进行相应的修改和调整。