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)
posted @ 2022-05-12 19:39  veager  阅读(200)  评论(0)    收藏  举报