
qqplot[zz_List]:=Block[{data=zz,normaldata,empiricalline},
(*將資料轉換為常態機率*)
normaldata=Transpose@{N@Range[Length@data]/Length[data],
CDF[NormalDistribution[Mean@data,StandardDeviation@data],#]&/@Sort[data]};
(*將轉換後的常態機率以內插法擬和為伊多項式函數*)
empiricalline=Interpolation[normaldata];
(*畫出多項式函數以及對角線*)
Plot[{empiricalline[x],x},{x,1/Length[data],1},
PlotStyle->{{Blue},{Red,Dashed}},
Filling->{1->{2}},
Epilog->{Hue[0.67,0.6,0.6],PointSize[0.02],
Point[normaldata]},Axes->None,
Frame->True,
FrameLabel->{Text[Style["Empirical Probability",FontSize->14,FontFamily->"Helvetica"]],
Text[Style["Theoretical Probability",FontSize->14,FontFamily->"Helvetica"]]},
AspectRatio->1]]
data= RandomVariate[ExponentialDistribution[10], 100]
(*直方圖*)
Histogram[data]

(*Q-Q 圖*)
qqplot[data]
讀者回應 ( 0 意見 )
訂閱發佈留言 (Atom)
發佈留言
Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.
如果這篇文章對你有幫助,那請留個訊息給我~