用于检验正态性的 Q-Q 图
「分位数-分位数图」(Q-Q 图)是揭示非正态性的更佳图形方法。一般来说,Q-Q 图将数据的分位数与某个参考分布的分位数进行比较;如果数据来自相同类型的分布(允许缩放和平移),点大致应落在一条直线上。您需要了解,「自由度」(df)指的是在所研究系统中可以自由变化并影响结果的取值或观测个数。
在视频中,您看到如何使用 rnorm() 生成 1000 个正态数据点,以及如何用 qqnorm() 创建 Q-Q 图,并用 qqline() 添加作为参考的直线:
> data <- rnorm(1000, mean = 3, sd = 2)
> qqnorm(data)
> qqline(data)
在本练习中,您将把 djx 中道琼斯对数收益的 Q-Q 图与正态参考分布进行比较,并添加参考直线作为视觉引导。随后,您将与使用 rnorm()、rt() 和 runif() 生成的正态分布、Student t 分布和均匀分布的模拟数据集进行比较。您将在本章后面学习 t 分布。
如果数据来自正态分布,散点应接近红色直线(尽管在两端可能会有些偏离)。
同前,djx 已加载到您的工作空间。
本练习是课程的一部分
R 中的定量风险管理
练习说明
- 使用
qqnorm()将djx与正态分布作 Q-Q 图,并用qqline()加上一条红色直线(col = "red")以判断图形是否近似线性。 - 使用
length()计算djx的长度并赋给对象n。 - 使用
rnorm()生成n个标准正态变量并赋给x1。对x1与正态分布作 Q-Q 图,并像之前一样添加红色直线。 - 生成自由度为 4 的
n个 Student t 变量并赋给x2(此步已为您完成)。对x2与正态分布作 Q-Q 图,并添加红色直线。 - 生成
n个均匀分布变量并赋给x3(此步已为您完成)。对x3与正态分布作 Q-Q 图,并添加红色直线。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Make a Q-Q plot of djx and add a red line
___(___)
___(___, ___)
# Calculate the length of djx as n
n <- ___
# Generate n standard normal variables, make a Q-Q plot, add a red line
x1 <- ___(___)
___(___)
___(___, ___)
# Generate n Student t variables, make a Q-Q plot, add a red line
x2 <- rt(n, df = 4)
___(___)
___(___, ___)
# Generate n standard uniform variables, make a Q-Q plot, add red line
x3 <- runif(n)
___(___)
___(___, ___)