組成分佈的峰度
看看下面的圖片。藍線表示標準正常 pdf。紅色區域應該等於灰色區域的總和(抱歉畫得很糟糕)。
我想知道我們能否通過將灰色區域移動到正常 pdf 的頂部(紅色區域)來創建具有更高峰值的新分佈?
如果可以進行這樣的轉換,那麼您如何看待這種新分佈的峰度?尖峰?但它與正態分佈有相同的尾巴!不明確的?
將有無數個看起來與您的繪圖非常相似的分佈,具有各種不同的峰度值。
鑑於您問題中的特定條件,並且我們認為交叉點在內部,或者至少在外部不太遠,應該是您得到的峰度比正常情況稍大。我將展示三種發生這種情況的情況,然後我將展示一種情況較小的情況——並解釋導致這種情況發生的原因。
鑑於和分別是標準普通的pdf和cdf,我們自己寫一個小函數
對於一些連續的、對稱的密度(帶有相應的 cdf), 均值, 這樣和.
那是,和選擇使密度連續並集成到.
示例 1考慮和,
它看起來像您的繪圖,這裡由以下 R 代碼生成:
f <- function(x, t=1, dg=function(x) 2*dnorm(2*x), pg=function(x) pnorm(2*x), b=(pnorm(t) - 0.5 - t*dnorm(t))/ (pg(t) - 0.5 - t*dg(t)), a=dnorm(t)-b*dg(t) ) { ifelse(abs(x)>t,dnorm(x),a+b*dg(x)) } f1 <- function(x) f(x,t=1,dg=function(x) 3*dnorm(3*x),pg=function(x) pnorm(3*x)) curve(f1,-4,4,col=2) lines(x,dnorm(x),col=3)
現在計算。讓我們做一個函數來評估:
fp <- function(x,p=2) x^p*f1(x)
所以我們可以評估時刻。首先是方差:
integrate(fp,-Inf,Inf) # should be just smaller than 1 0.9828341 with absolute error < 1.4e-07
接下來是第四個中心時刻:
integrate(fp,-Inf,Inf,p=4) # should be just smaller than 3 2.990153 with absolute error < 8.3e-06
我們需要這些數字的比率,它應該有大約 5 位數的精度
integrate(fp,-Inf,Inf,p=4)$value/(integrate(fp,-Inf,Inf)$value^2) [1] 3.095515
所以峰度約為 3.0955,略大於正常情況。
當然我們可以代數計算得到一個準確的答案,但是沒必要,這告訴我們我們想知道什麼。
示例 2使用函數上面定義的我們可以嘗試各種方式的。
這是拉普拉斯:
library(distr) D <- DExp(rate = 1) f2 <- function(x) f(x,t=1,dg=d(D),pg=p(D)) curve(f2,-4,4,col=2) lines(x,dnorm(x),col=3)
fp2 <- function(x,p=2) x^p*f2(x) integrate(fp2,-Inf,Inf) # should be just smaller than 1 0.9911295 with absolute error < 1.1e-07 integrate(fp2,-Inf,Inf,p=4) # should be just smaller than 3 2.995212 with absolute error < 5.9e-06 integrate(fp2,-Inf,Inf,p=4)$value/(integrate(fp2,-Inf,Inf)$value^2) [1] 3.049065
不出所料,類似的結果。
示例 3:讓我們採取是一個 Cauchy 分佈(一個 1 df 的 Student-t 分佈),但尺度為 2/3(也就是說,如果是標準的柯西,, 並再次設置閾值t (給出點,,在此之外我們“切換”到正常狀態),為 1。
dg <- function(x) 1.5*dt(1.5*x,df=1) pg <- function(x) pt(1.5*x,df=1) f3 <- function(x) f(x,t=1,dg=dg,pg=pg) curve(f3,-4,4,col=2) lines(x,dnorm(x),col=3)
fp3 <- function(x,p=2) x^p*f3(x) integrate(fp3,-Inf,Inf) # should be just smaller than 1 0.9915525 with absolute error < 1.1e-07 integrate(fp3,-Inf,Inf,p=4) # should be just smaller than 3 2.995066 with absolute error < 6.2e-06 integrate(fp3,-Inf,Inf,p=4)$value/(integrate(fp2,-Inf,Inf)$value^2) [1] 3.048917
並且只是為了證明我們實際上得到了適當的密度:
integrate(f3,-Inf,Inf) 1 with absolute error < 9.4e-05
示例 4:但是,當我們改變t時會發生什麼?
拿和與前面的示例一樣,但將閾值更改為:
f4 <- function(x) f(x,t=2,dg=dg,pg=pg) curve(f4,-4,4,col=2) lines(x,dnorm(x),col=3)
fp4 <- function(x,p=2) x^p*f4(x) integrate(fp4,-Inf,Inf,p=4)$value/(integrate(fp2,-Inf,Inf)$value^2) [1] 2.755231
這是怎麼發生的?
好吧,重要的是要知道峰度是(稍微鬆散地說)1+平方方差:
所有三個分佈都具有相同的均值和方差。
黑色曲線是標準正態密度。綠色曲線顯示了一個相當集中的分佈(也就是說,方差約很小,導致接近 1 的峰度,即可能的最小值)。紅色曲線顯示了分佈被“推開”的情況; 那就是峰度很大。
考慮到這一點,如果我們將閾值點設置得足夠遠 我們可以將峰度推到 3 以下,並且仍然有更高的峰值。