楼主: DUO323
1227 2

[问答] 怎样用Python做水平数不等的试验设计? [推广有奖]

  • 0关注
  • 0粉丝

学前班

60%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
60 点
帖子
1
精华
0
在线时间
2 小时
注册时间
2020-10-8
最后登录
2020-10-10

楼主
DUO323 发表于 2020-10-8 13:53:03 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

对水平数相等的试验设计,用Python可以如下作答,可是当水平数不等时,用以下方法不对,请问如何做水平数不等的情况呢?



某橡胶以弯曲次数(单位:万次)为试验指标,在配方中促进剂A选两个水平,炭黑B选两个品种,硫磺分量C选两个水平,考虑交互作用A×BA×CB×CA×B×C,根据正交表L8(27)安排试验,每号试验都重复了一次,得到试验指标的观测值如下,试用Python作方差分析。


试验号 \ 列号

1(A)2(B)   3   4(C)   5     6    7

(A×B)         (A×C)  (B×C)  (A×B×C)

观测值


1

2

3

4

5

6

7

8

1  1    1    1     1     1     1

1  1    1    2     2     2     2

1  2    2    1     1     2     2

1  2    2    2     2     1     1

2  1    2    1     2     1     2

2  1    2    2     1     2     1

2  2    1    1     2     2     1

2  2    1    2     1     1     2

1.5  1.6

2.0  1.8

2.0  2.3

1.5  1.4

2.0  2.1

3.0  3.2

2.5  2.5

2.0  1.9


Python作方差分析的程序如下:

import pandas as pd

from statsmodels.formula.api import ols

from statsmodels.stats.anova import anova_lm

data = {'A':list([1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2]),

       'B':list([1,1,1,1,2,2,2,2,1,1,1,1,2,2,2,2]),\

       'C':list([1,1,2,2,1,1,2,2,1,1,2,2,1,1,2,2]),\      'result':list([1.5,1.6,2.0,1.8,2.0,2.3,1.5,1.4,2.0,2.1,

3.0,3.2,2.5,2.5,2.0,1.9])}

data=pd.DataFrame(data)

anova_results = anova_lm(ols('result ~ A+B+C+A*B+A*C+B*C+A*B*C',data).fit())

print(anova_results)

Python计算得到方差分析表

   df    sum_sq   mean_sq          F       PR(>F)

A           1.0  1.625625  1.625625    123.857143   0.000004

B           1.0  0.075625  0.075625     5.761905    0.043150

C           1.0  0.005625  0.005625     0.428571    0.531058

A:B         1.0  0.180625  0.180625    13.761905    0.005959

A:C         1.0  0.180625  0.180625    13.761905    0.005959

B:C         1.0  1.755625  1.755625   133.761905    0.000003

A:B:C       1.0  0.075625  0.075625     5.761905    0.043150

Residual     8.0  0.105000  0.013125        NaN        NaN


水平数不等的情况?


试验号 \ 列号

1(A)  2(B)  3(C)  4(D)  5()

观测值


1

2

3

4

5

6

7

8

1     1     1     1     1

1     2     2     2     2

2     1     1     2     2

2     2     2     1     1

3     1     2     1     2

3     2     1     2     1

4     1     2     2     1

4     2     1     1     2

195

205

220

225

210

215

185

190


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python 试验设计 Dataframe Residual results

已有 1 人评分经验 收起 理由
yunnandlg + 20 精彩帖子

总评分: 经验 + 20   查看全部评分

沙发
nkunku 发表于 2020-10-9 14:59:57
不会python。用sas做了一下,不知对不对?

微信截图_20201009145856.png (23.86 KB)

微信截图_20201009145856.png

已有 1 人评分经验 收起 理由
yunnandlg + 80 精彩帖子

总评分: 经验 + 80   查看全部评分

藤椅
nkunku 发表于 2020-10-9 15:05:14
用sas做了一下

微信截图_20201009150731.png (18.91 KB)

微信截图_20201009150731.png

已有 1 人评分经验 收起 理由
yunnandlg + 100 精彩帖子

总评分: 经验 + 100   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 01:25