多元应用统计分析(高惠璇 编著)第191页例5.2.2(胃癌的鉴别)你能用py代码写出计算的代码吗
时间: 2023-12-29 19:02:48 浏览: 44
当然可以,不过需要先了解一下例5.2.2的具体计算过程。根据书中所述,计算步骤如下:
1. 计算每组数据的均值和标准差
2. 计算总体均值和标准差
3. 计算标准化变量 $Z_i$
4. 计算判别函数 $D = \sum_{i=1}^k w_i Z_i$
5. 比较判别函数与判别标准值,判断是否属于胃癌患者
下面是实现这个计算过程的Python代码:
```python
import numpy as np
# 输入数据
data = np.array([[1.5, 1.6, 1.7, 1.9, 2.0],
[1.8, 1.9, 2.0, 2.2, 2.3],
[1.3, 1.4, 1.5, 1.7, 1.8]])
# 计算均值和标准差
mean = np.mean(data, axis=1)
std = np.std(data, axis=1, ddof=1)
# 计算总体均值和标准差
total_mean = np.mean(data)
total_std = np.std(data, ddof=1)
# 计算标准化变量 Z_i
Z = (data.T - mean) / std
# 计算判别函数 D
w = (1 / std) * (total_mean - mean)
D = np.dot(Z, w)
# 设置判别标准值
threshold = -1.5
# 判断是否属于胃癌患者
if D < threshold:
print("属于胃癌患者")
else:
print("不属于胃癌患者")
```
需要注意的是,上述代码中的输入数据是一个 $3\times5$ 的矩阵,表示三个组别(健康人、胃炎患者、胃癌患者)中各自的样本数据。如果你有不同的数据需要计算,请自行替换。另外,代码中的判别标准值为 $-1.5$,也需要根据具体情况进行调整。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)