用R语言(5)计算数据的偏度系数和峰度系数. (6)计算标准得分,计算数据落在一个标准差、两个标准差和三个标准差的百分比,并与经验准则相比较. (7)使用Z得分方法和画出数据箱线图的方法判断哪些数据可能是异常值
时间: 2023-12-06 15:45:26 浏览: 159
(5) 计算偏度系数和峰度系数:
偏度系数可以衡量数据分布的偏斜程度,计算公式为:
$$
\gamma_1 = \frac{\sum_{i=1}^{n}(x_i-\bar{x})^3/n}{s^3}
$$
当 $\gamma_1>0$ 时,表示数据分布右偏;$\gamma_1<0$ 时,表示数据分布左偏;$\gamma_1=0$ 时,表示数据分布对称。
峰度系数可以衡量数据分布的尖峰程度,计算公式为:
$$
\gamma_2 = \frac{\sum_{i=1}^{n}(x_i-\bar{x})^4/n}{s^4}-3
$$
当 $\gamma_2>0$ 时,表示数据分布比正态分布更尖峭;$\gamma_2<0$ 时,表示数据分布比正态分布更平坦;$\gamma_2=0$ 时,表示数据分布与正态分布相同。
在 R 语言中,可以使用 `skewness` 函数和 `kurtosis` 函数计算偏度系数和峰度系数:
```r
library(moments)
# 偏度系数
skewness(data)
# 峰度系数
kurtosis(data)
```
其中 `data` 是数据集。
(6) 计算标准得分和百分比:
标准得分也叫 Z 分数,是指将原始数据转化为标准正态分布的得分,计算公式为:
$$
z_i = \frac{x_i-\bar{x}}{s}
$$
其中 $z_i$ 表示第 $i$ 个数据的标准得分,$x_i$ 表示第 $i$ 个数据的原始值,$\bar{x}$ 表示所有数据的均值,$s$ 表示所有数据的标准差。
在 R 语言中,可以使用 `scale` 函数计算标准得分:
```r
# 计算标准得分
z_scores <- scale(data)
# 计算数据落在一个标准差、两个标准差和三个标准差内的百分比
p1 <- sum(abs(z_scores) < 1)/length(data)
p2 <- sum(abs(z_scores) < 2)/length(data)
p3 <- sum(abs(z_scores) < 3)/length(data)
# 输出结果
cat("数据落在一个标准差内的百分比:", round(p1*100, 2), "%\n")
cat("数据落在两个标准差内的百分比:", round(p2*100, 2), "%\n")
cat("数据落在三个标准差内的百分比:", round(p3*100, 2), "%\n")
```
其中 `data` 是数据集,`z_scores` 是标准得分。
经验准则是指在正态分布中,约有 68% 的数据落在一个标准差内,约有 95% 的数据落在两个标准差内,约有 99.7% 的数据落在三个标准差内。
(7) 判断异常值:
Z 得分方法是指将标准得分超过 $3$ 或 $-3$ 的数据视为异常值。在 R 语言中,可以使用以下代码进行判断:
```r
# 使用 Z 得分方法判断异常值
z_scores <- scale(data)
outliers <- which(abs(z_scores) > 3)
```
其中 `data` 是数据集,`z_scores` 是标准得分,`outliers` 是异常值的下标。
画出数据箱线图可以帮助识别异常值。在 R 语言中,可以使用 `boxplot` 函数绘制数据箱线图:
```r
# 绘制数据箱线图
boxplot(data, main="Data Boxplot")
```
其中 `data` 是数据集,`main` 是图表标题。在箱线图中,如果有数据点落在箱线图之外,则可能是异常值。
阅读全文