確定Python中條形圖的偏斜/峯度的有效方法是什麼?考慮到條形圖不是分級的(與直方圖不同),這個問題沒有多大意義,但是我想要做的是確定圖形高度與距離(而不是頻率與桶)的對稱性。換句話說,如在距離測量的給定的沿的距離(X)測量的高度(Y)的值,即峯度,偏斜的條形圖? - Python
y = [6.18, 10.23, 33.15, 55.25, 84.19, 91.09, 106.6, 105.63, 114.26, 134.24, 137.44, 144.61, 143.14, 150.73, 156.44, 155.71, 145.88, 120.77, 99.81, 85.81, 55.81, 49.81, 37.81, 25.81, 5.81]
x = [0.03, 0.08, 0.14, 0.2, 0.25, 0.31, 0.36, 0.42, 0.48, 0.53, 0.59, 0.64, 0.7, 0.76, 0.81, 0.87, 0.92, 0.98, 1.04, 1.09, 1.15, 1.2, 1.26, 1.32, 1.37]
那是什麼高度(y)的分佈(偏斜)和peakness(峯度)的對稱性( X)?偏度/峯度是否適合用來確定實際值的正態分佈?或者scipy/numpy爲這種類型的測量提供了類似的東西嗎?
我能實現高度(y)的頻率值的沿着距離裝箱偏斜/峯度估計(X)由下列
freq=list(chain(*[[x_v]*int(round(y_v)) for x_v,y_v in zip(x,y)]))
x.extend([x[-1:][0]+x[0]]) #add one extra bin edge
hist(freq,bins=x)
ylabel("Height Frequency")
xlabel("Distance(km) Bins")
print "Skewness,","Kurtosis:",stats.describe(freq)[4:]
Skewness, Kurtosis: (-0.019354300509997705, -0.7447085398785758)
在這種情況下,高度分佈是對稱的(歪斜0.02)圍繞中點距離,並以platykurtic(-0.74峯度即寬)分佈爲特徵。
考慮到我將x值的每次出現乘以它們的高度y來創建頻率,結果列表的大小有時會變得非常大。我想知道是否有更好的方法來解決這個問題?我想我總是可以嘗試將數據集y歸一化到0-100的範圍,而不會丟失關於數據集偏斜/峯度的太多信息。
你可以替換'numpy.repeat(Y,np.round(x)的列表理解。astype(int)'應該更快。但是,我不記得看到一個加權偏斜和峯度的函數。我從來沒有見過它用於分配函數以外的功能。 – user333700
這些'x'和'y'是什麼?我的意思是,你不能有一個圖形的傾斜(正如你的標題所說),它只是沒有意義。你可以編輯一些問題的解釋嗎? –
增加了一些額外的意見宣佈x和y ...也許我在錯誤的論壇問這個問題,應該重新發布stats堆棧溢出問如何衡量實數值的正態分佈,而不是測試一組隨機數通常是分佈式的。 – BJEBN