ฉันหวังว่าจะมีความเข้าใจที่ลึกซึ้งยิ่งขึ้นเกี่ยวกับความเบ้สี่ประเภทจากชุมชนนี้
ประเภทที่ฉันอ้างถึงมีการกล่าวถึงในhttp://www.inside-r.org/packages/cran/e1071/docs/skewnessหน้าช่วยเหลือ
วิธีการเก่าไม่ได้กล่าวถึงในหน้าช่วยเหลือ แต่ฉันรวมถึงมันอย่างไรก็ตาม
require(moments)
require(e1071)
x=rnorm(100)
n=length(x)
hist(x)
###############type=1
e1071::skewness(x,type=1)
sqrt(n) * sum((x-mean(x))^3)/(sum((x - mean(x))^2)^(3/2)) #from e1071::skewness source
m_r=function(x,r) {n=length(x); sum((x - mean(x))^r/n);} ##from e1071::skewness help
g_1=function(x) m_r(x,3)/m_r(x,2)^(3/2)
g_1(x) ##from e1071::skewness help
moments::skewness(x) ##from e1071::skewness help
(sum((x - mean(x))^3)/n)/(sum((x - mean(x))^2)/n)^(3/2) ##from moments::skewness code, exactly as skewness help page
###############type=2
e1071::skewness(x,type=2)
e1071::skewness(x,type=1) * sqrt(n * (n - 1))/(n - 2) #from e1071::skewness source
G_1=function(x) {n=length(x); g_1(x)*sqrt(n*(n-1))/(n-2);} #from e1071::help
G_1(x)
excel.skew=function(x) { n=length(x); return(n/((n-1)*(n-2))*sum(((x-mean(x))/sd(x))^3));}
excel.skew(x)
###############type=3
e1071::skewness(x,type=3)
e1071::skewness(x,type=1) * ((1 - 1/n))^(3/2) #from e1071::skewness source
b_1=function(x) {n=length(x); g_1(x)*((n-1)/n)^(3/2); } #from e1071::skewness help page
b_1(x);
prof.skew=function(x) sum((x-mean(x))^3)/(length(x)*sd(x)^3);
prof.skew(x)
###############very old method that fails in weird cases
(3*mean(x)-median(x))/sd(x)
#I found this to fail on certain data sets as well...
นี่คือกระดาษที่ผู้เขียน e1071 อ้างถึง: http://onlinelibrary.wiley.com/doi/10.1111/1467-9884.00122/pdf Joanes และ CA Gill (1998) เปรียบเทียบการวัดความเบ้และความรุนแรงของตัวอย่าง
จากการอ่านกระดาษของฉันพวกเขาแนะนำว่าประเภท 3 มีข้อผิดพลาดน้อยที่สุด
นี่คือตัวอย่างของความเบ้จากโค้ดด้านบน:
e1071::skewness(x,type=1)
-0.1620332
e1071::skewness(x,type=2)
-0.1645113
e1071::skewness(x,type=3)
-0.1596088
#old type:
0.2694532
ฉันยังสังเกตเห็นว่าผู้เขียน e1071 เขียนฟังก์ชั่นเอียงต่างจากบันทึกในหน้าความช่วยเหลือ สังเกตเห็น sqrt:
sqrt(n) * sum((x-mean(x))^3)/(sum((x - mean(x))^2)^(3/2)) #from e1071::skewness source
(sum((x - mean(x))^3)/n)/(sum((x - mean(x))^2)/n)^(3/2) #from moments and e1071 help page
ความคิดใด ๆ ที่ว่า sqrt (n) อยู่ในสมการแรก? สมการใดที่จัดการกับ overflow / underflow ได้ดีกว่า? ความคิดอื่น ๆ ว่าทำไมถึงแตกต่างกัน (แต่ให้ผลลัพธ์ที่เหมือนกัน)