首页 > 编程语言 >python课后练习(9.4-9.5)

python课后练习(9.4-9.5)

时间:2024-12-02 20:54:35浏览次数:7  
标签:interaction factor1 factor2 python data df 9.5 课后练习 ss

1

点击查看代码
import [pandas](https://wenku.csdn.net/doc/6412b725be7fbd1778d4940f?spm=1055.2569.3001.10083) as pd
import statsmodels.api as sm
from statsmodels.formula.api import ols
data = pd.read_csv('data.csv')
[means](https://wenku.csdn.net/doc/6401abddcce7214c316e9c60?spm=1055.2569.3001.10083) = data.mean(axis=0)
grand_mean = data.values.mean()
ss_[total](https://wenku.csdn.net/doc/31nmcu1yk4?spm=1055.2569.3001.10083) = ((data.values - grand_mean) ** 2).sum()
df_total = data.size - 1
ms_total = ss_total / df_total
ss_factor1 = ((means[:3] - grand_mean) ** 2).sum() * 3
df_factor1 = 2
ms_factor1 = ss_factor1 / df_factor1
ss_factor2 = ((means[3:6] - grand_mean) ** 2).sum() * 3
df_factor2 = 3
ms_factor2 = ss_factor2 / df_factor2
ss_interaction = (((data.groupby(['Variety', 'Fertilizer']).mean() - means.reshape(3, 3)) ** 2).sum().sum() * 3)
df_interaction = 6
ms_interaction = ss_interaction / df_interaction
ss_error = ss_total - ss_factor1 - ss_factor2 - ss_interaction
df_error = df_total - df_factor1 - df_factor2 - df_interaction
ms_error = ss_error / df_error
f_factor1 = ms_factor1 / ms_error
p_factor1 = 1 - sm.stats.f.cdf(f_factor1, df_factor1, df_error)
f_factor2 = ms_factor2 / ms_error
p_factor2 = 1 - sm.stats.f.cdf(f_factor2, df_factor2, df_error)
f_interaction = ms_interaction / ms_error
p_interaction = 1 - sm.stats.f.cdf(f_interaction, df_interaction, df_error)
print('Factor 1 (Variety): F = {:.2f}, p = {:.4f}'.format(f_factor1, p_factor1))
print('Factor 2 (Fertilizer): F = {:.2f}, p = {:.4f}'.format(f_factor2, p_factor2))
print('Interaction: F = {:.2f}, p = {:.4f}'.format(f_interaction, p_interaction))
model = ols('Yield ~ Variety + Fertilizer + Variety:Fertilizer', data).fit()
tukey = sm.stats.multicomp.pairwise_tukeyhsd(model.fittedvalues, data['Variety:Fertilizer'])
print(tukey.summary())
print("学号后四位:3032")
2
点击查看代码
import pandas as pd  
import numpy as np  
import statsmodels.api as sm  
from statsmodels.formula.api import ols  
from statsmodels.stats.anova import anova_lm  
data = {  
    'City': np.tile(np.arange(1, 5), 12),  
    'Location': np.repeat(np.tile(np.arange(1, 4), 8), 4),  
    'Ad': np.repeat(np.tile(np.arange(1, 3), 4), 6),  
    'Decoration': np.repeat(np.arange(1, 3), 24),  
    'Sales': [  
        45, 50, 48, 55,    # Location 1, Ad 1, Decoration 1, 2  
        40, 45, 43, 52,    # Location 2, Ad 1, Decoration 1, 2  
        38, 42, 40, 47,    # Location 3, Ad 1, Decoration 1, 2  
        46, 54, 49, 58,    # Location 1, Ad 2, Decoration 1, 2  
        39, 44, 41, 53,    # Location 2, Ad 2, Decoration 1, 2  
        37, 43, 39, 48,    # Location 3, Ad 2, Decoration 1, 2 
    ]  
}  
df = pd.DataFrame(data)    
model = ols('Sales ~ C(Location) + C(Ad) + C(Decoration) + C(Location):C(Ad) + C(Location):C(Decoration) + C(Ad):C(Decoration) + C(Location):C(Ad):C(Decoration)', data=df).fit()  
anova_results = anova_lm(model)  
print(anova_results)  
alpha = 0.05  
significant = any(anova_results['PR(>F)'] < alpha)  
if significant:  
    print(f"在 {alpha:.2f} 的显著性水平下,至少有一组的销售量存在显著差异。")  
else:  
    print(f"在 {alpha:.2f} 的显著性水平下,销售量无显著差异。")
print("学号后四位:3032")

标签:interaction,factor1,factor2,python,data,df,9.5,课后练习,ss
From: https://www.cnblogs.com/xr-1221/p/18582692

相关文章

  • 大数据学习记录,Python基础(4)
    函数引言:比如植物大战僵尸,这个游戏本身也是由代码编写,现在假设有一种豌豆射手,每发射一次炮弹会执行100行逻辑代码如果我在程序,每当需要发射炮弹的时候,都要编写100行逻辑代码,就会觉得该程序过于冗余,代码重复度较高。解决方案:如果我将这100行代码放到一个区域中,然后给这个区域......
  • python: Treeview Pagination
     #encoding:utf-8#版權所有2024©塗聚文有限公司#許可資訊查看:言語成了邀功的功臣,還需要行爲每日來值班嗎?#描述:TreeviewPagination#Author:geovindu,GeovinDu塗聚文.#IDE:PyCharm2023.1python3.11#OS:windows10#Datetime:......
  • python如何缩小图像
    PIL是python的一个图像处理库,功能非常强大,可以实现图片的格式转换、旋转、裁剪、改变尺寸、像素处理、图片合并等等操作。PIL已经更名为pillow,所以在终端输入:pip3installpil会报错,而应该输入:pip3installpillow进行安装。源码:from PIL import Image def Image......
  • python如何查看程序运行时间
    1、方法一#python 的标准库手册推荐在任何情况下尽量使用time.clock().#只计算了程序运行CPU的时间,返回值是浮点数import timestart =time.clock()#中间写上代码块end = time.clock()print('Running time: %s Seconds'%(end-start))#运行结果如下#Running......
  • 聪明办法学Python chap 2 chap 3
    Chap2数据类型和操作数据类型基础类型:整型(int)浮点数(float)字符串(str)布尔型(bool)True/False类型Type("类型"也是一种类型)print(type(2))print(type(2.2))print(type(2<2.2))print(type(type(2)))<class'int'><class'float'......
  • python毕设 健康监控系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于健康监控系统的研究,现有研究主要集中在特定疾病的监测或者单一功能的健康管理方面,如仅专注于运动监测或者体检数据管理等。专门针......
  • python毕设 商场购物管理系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于商场购物管理系统的研究,现有研究主要以传统的管理模式和通用的商业管理系统为主。专门针对商场购物场景下,融合用户、商家、商品分......
  • COMP09110 Python for Network Engineers
    FINALCOURSEWORKINSTRUCTIONS[50%offinalmark]COMP09110PythonforNetworkEngineersThistaskisdesignedtotesttheabilitytoputintopracticetheknowledgegainedduringyourmodule.Yourtaskwillbetocreateasimplevideogameserverthats......
  • PythonDay8Advance
    PythonDay8Advance正则表达式本身也是一个字符串,其中的字符具有特殊含义,将来我们可以根据这个字符串【正则表达式】去处理其他的字符串,比如可以对其他字符串进行匹配,切分,查找,替换等一系列操作。是一个独立于任何一门语言的技术,任何一门语言中都可以使用同一个正则表达式去操......
  • 《python基于RSA算法的数字签名生成软件》毕业设计项目
    大家好我是蓝天,混迹在java圈的辛苦码农。今天要和大家聊的是一款《python基于RSA算法的数字签名生成软件》毕业设计项目。项目源码以及部署相关请联系蓝天,文末附上联系信息。......