Q-Q plot
1. Quantile-Quantile Plot (Q-Q Plots)
定义:
两个分布函数
- x 轴 \(F(x)=\Pr_X(X\leq x)\)
- y 轴 \(G(y)=\Pr_Y(Y\leq y)\)
Q-Q 图中,图中点对应的两个分布的累计概率 \(p\) 相同,即
\[(x, y): \quad \Pr {}_X(X\leq x) = \Pr {}_Y(Y\leq y)
\]
1.2 R
QQ Plot
qqplot(x, y)
qqnorm(y)
qqline(y)
QQ-Norm
- \(x\) 轴为标准整正太分布的分位数
qqnorm.plot <- function(x){
n = length(x)
x = sort(x)
x.p = ecdf(x)(x)
x.p = x.p - 1/(2*n)
norm.q = qnorm(x.p, mean=0, sd=1)
points(norm.q, x, col='red')
}
x = rnorm(13, mean=0, sd=1) # 样本
qqnorm(x)
qqnorm.plot(x)
QQ-Line
- \(x\) 轴为标准整正太分布的分位数
- \(\hat{\mu}\) 样本(位于纵坐标)均值,
mean(y)
- \(\hat{\sigma}\) 样本(位于纵坐标)方差,
sd(y)
\[y = \hat{\mu} + \hat{\sigma} x
\]
qqnorm.lines <- function(x){
n = length(x)
x = sort(x)
x.p = ecdf(x)(x)
x.p = x.p - 1/(2*n)
mu = mean(x)
sd = sd(x)
y1 = min(x)
y2 = max(x)
x1 = (y1 - mu) / sd
x2 = (y2 - mu) / sd
lines(c(x1, x2), c(y1, y2), col='blue')
}
# Example
x = rnorm(20, mean=10, sd=2) # 样本
qqnorm(x)
qqline(x, col='green')
qqnorm.points(x)
qqnorm.lines(x)