首页 > 其他分享 >数学建模习题9.5

数学建模习题9.5

时间:2024-12-20 09:30:57浏览次数:3  
标签:ad df 建模 len raw anova factor 9.5 习题

`import pandas as pd
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm

列名列表

column_names = ["城市1", "城市2", "城市3", "城市4"]

生成因子组合

factor_combinations = [
f"位置{i+1}广告形式行+1高档" for i in range(3) for _ in range(2)
] + [
f"位置{i+1}广告形式行{i+1}低档" for i in range(3) for _ in range(2)
]

读取Excel文件

df_raw = pd.read_excel('9.5.xlsx', header=None, names=column_names, index_col=0)

设置索引

df_raw.index = factor_combinations

提取位置因子

location_factor = [int(x.split('位置')[1].split('广告形式')[0].strip()) for x in df_raw.index if '位置' in x]

提取广告形式因子

ad_factor = []
for x in df_raw.index:
parts = x.split('广告形式')
if len(parts) > 1:
row_part = parts[1].split('高档')[0].split('低档')[0].strip()
if '行+1' in row_part:
ad_factor.append(1) # 假设'行+1'对应1
elif '行' in row_part:
ad_factor.append(int(row_part.replace('行', '').strip())) # 移除'行'并转换为整数
else:
ad_factor.append(0) # 如果没有'广告形式',则默认为0

提取装饰档次因子

decoration_factor = ['高档' if '高档' in x else '低档' for x in df_raw.index]

确保所有数组长度相同

assert len(location_factor) == len(ad_factor) == len(decoration_factor) == len(df_raw.values.flatten()), "Arrays are not of the same length"

准备数据

data = {
'销售量': df_raw.values.flatten(),
'位置': location_factor,
'广告形式': ad_factor,
'装饰档次': decoration_factor
}

创建DataFrame

df = pd.DataFrame(data)

创建城市因子

city_factor = [f'城市{i+1}' for i in range(4)] * (len(location_factor) // 4)
assert len(city_factor) == len(df), "City factor array is not of the same length as other arrays"
df['城市'] = city_factor

建立模型并进行方差分析

model = ols('销售量 ~ C(位置) + C(广告形式) + C(装饰档次) + C(城市)', data=df).fit()
anova_table = anova_lm(model, typ=2)
print(anova_table)

找出显著因素

significant_factors = anova_table[anova_table['PR(>F)'] < 0.05]['source']
print("在显著水平0.05下,以下因素对销售量有显著差异:")
print(significant_factors)
print("学号:05")`

标签:ad,df,建模,len,raw,anova,factor,9.5,习题
From: https://www.cnblogs.com/vvlin/p/18618420

相关文章

  • 背景建模和光流估计
    背景建模和光流估计是计算机视觉领域中两个重要的任务,它们通常用于视频分析和物体跟踪。背景建模是从视频序列中提取出场景的静态背景信息的过程。在视频中,背景通常是不变的元素,如墙壁、地面或天空。通过背景建模,我们可以检测到场景中的动态物体,因为它们与背景不......
  • 指针主要内容的习题及答案
    1.设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是 B 。A)c=*p1+*p2B)p2=cC)p1=p2D)c=*p1*(*p2)2.设有程序段:chars[]=”china”;char*p;p=s;则下面叙述正确的是 D 。A)s和p完全相同B)数组s中的内容和......
  • UML活动图建模-官网案例-Hospital Management
    The ElectronicPrescriptionService enables prescribers -suchasgeneralpractitioners(GPs)andpracticenurses-tosendprescriptionselectronicallytoa dispenser (suchasapharmacy)ofthepatient'schoice.AswithallNHSConnectingforHeal......
  • AFSD搅拌摩擦沉积增材制造稳态温度场、应力场建模——Comsol弱耦合模拟分享
    目录搅拌摩擦沉积增材制造(AFSD)是一种新兴的固态增材制造技术,它结合了传统摩擦搅拌焊接(FSW)和增材制造(AM)的优点。该技术通过旋转工具将材料逐层沉积到基板上,形成三维金属零件。文章目录目录前言一、Comsol是什么?二、模型参数1.材料参数2.工艺参数3.其他环境参......
  • 空心电抗器的matlab建模与性能仿真分析
    1.课题概述       空心电抗器是一种无铁芯的电感元件,主要由一圈或多圈导线绕制在非磁性材料制成的空心圆筒或其他形状的骨架上构成。其工作原理基于法拉第电磁感应定律,当交流电通过电抗器时,会在电抗器的绕组中产生自感电动势,阻碍电流的变化,因此起到限制电流、滤波、吸收......
  • 【计算机网络篇】计算机网络期末复习题库详解
         ......
  • 谭浩强C程序设计课后习题(第3章)
    本章结合介绍最简单的程序,系统的介绍了编写程序的各项要素,有了这些基础,就可以开始编写程序了。习 题1.假如我国国民生产总值的年增长率为7%,计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式为r为年增长率,n为年数,p为与现在相比的倍数。具体代码:#include<......
  • 什么是数据建模,数据建模的重要性、数据建模的主要方法、数据建模的流程、数据建模工具
    一、数据建模的定义数据建模是指对现实世界各类数据的抽象组织,确定数据库需管理的对象、对象的属性以及对象之间的关系,并用适当的工具和符号进行表达的过程。它就像是为数据构建一个蓝图,这个蓝图能够帮助我们更好地理解、存储和使用数据。例如,在一个学校的信息管理系统中,我们可......
  • Sigrity System Explorer ViaWizard模式进行过孔建模和仿真分析操作指导
    SigritySystemExplorerViaWizard模式进行过孔建模和仿真分析操作指导SigritySystemExplorerViaWizard模式可以用于过孔建模用于前仿真分析,建模好过孔进行3D全波仿真分析评估过孔结构的性能,同样以差分模板为例具体操作如下双击打开SystemExplorer软件界面打开如......
  • python练习:“互联网 +” 时代的出租车资源配置的数学建模(二)
    (二)问题2模型补贴效果评估模型构建一个指标来评估补贴方案的综合效果。通过对比补贴前后乘客叫车数量和司机接单数量的变化率来评估补贴方案对市场供需平衡的影响。如果该指标大于0,说明补贴方案在一定程度上有助于缓解打车难;如果小于0,则说明补贴方案可能存在问题或未达到......