习题9.5

1.代码实现

点击查看代码
import pandas as pd
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm
data = {
    '城市': [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4],
    '地理位置': ['A1', 'A1', 'A2', 'A2', 'A1', 'A1', 'A2', 'A2', 'A1', 'A1', 'A2', 'A2', 'A1', 'A1', 'A2', 'A2'],
    '广告形式': ['B1', 'B2', 'B1', 'B2', 'B1', 'B2', 'B1', 'B2', 'B1', 'B2', 'B1', 'B2', 'B1', 'B2', 'B1', 'B2'],
    '装潢方式': ['C1', 'C1', 'C1', 'C1', 'C2', 'C2', 'C2', 'C2', 'C1', 'C1', 'C1', 'C1', 'C2', 'C2', 'C2', 'C2'],
    '销售量': [955, 967, 905, 855, 880, 860, 870, 830, 875, 870, 870, 821, 875, 888, 870, 863]
}
df = pd.DataFrame(data)
# 建立模型公式
model = ols('销售量~ C(地理位置) + C(广告形式) + C(装潢方式) + C(地理位置):C(广告形式) + C(地理位置):C(装潢方式) + C(广告形式):C(装潢方式) + C(地理位置):C(广告形式):C(装潢方式)', data=df).fit()
# 进行方差分析
anova_results = anova_lm(model)
print(anova_results)
print("3014")


2.运行结果

posted on 2024-12-10 14:43  克卜勒星球  阅读(3)  评论(0编辑  收藏  举报

导航