集中趋势和离散程度是数据分布的两个重要特征,但要全面了解数据分布的特点,还应掌握数据分布的形态。
描述数据分布形态的度量有偏度系数和峰度系数,
其中偏度系数描述数据的对称性,峰度系数描述与正态分布的偏离程度。
峰度系数反映分布峰的尖峭程度的重要指标.
当峰度系数大于0时,两侧极端数据较多;
当峰度系数小于0时,两侧极端数据较少。
*时间T固定,空间S固定
np15a = np.concatenate((np.arange(0.5, 21, 1.5), np.full((12,), 20), np.arange(20, 40, 1.5)), axis=0)
np20a = np.concatenate((np.arange(0, 21, 2), np.full((18,), 20), np.arange(20, 41, 2)), axis=0)
np25a = np.concatenate((np.arange(0, 21, 2.5), np.full((22,), 20), np.arange(20, 41, 2.5)), axis=0)
①中枢越长,峰度系数越大。
峰度分别为:
0 -1.16
1 -0.84
2 -0.61[绿色]
3 -0.77
4 -1.1
①中枢越靠近均值(偏度接近0),峰值越大(-0.61);
②偏度的正负,对峰度没有影响。但偏度的绝对值越大,峰度值越小。
import numpy as np
from scipy.stats import kurtosis
def skew0(x1, x2, y=500, s=1):
np00 = np.concatenate((np.arange(y-x2*s, y, s), np.full((x1,), y), np.arange(y+s, y+s+x2*s, s)), axis=0)
npp = np.empty((0, len(np00)))
npp = np.vstack((npp, np00))
kt = kurtosis(npp[0])
return kt, npp
f12 = np.arange(100, 1000, 1)
for i in f12:
for j in f12:
kt, npp = skew0(i, j, 500, 1)
if abs(kt) < 0.0001:
print(i, j, i/j, j/i, kt)
①a+c浪 / b浪的时间比值,约等于2.6712;
也就是说a浪和c浪匀速前提下,极限是2.67;
若a和c浪是水平,极限是8;
def skew0(x1, x2, y=500, s=10):
np00 = np.concatenate((np.full((x2,), s), np.full((x1,), y), np.full((x2,), 2*y - s)), axis=0)
npp = np.empty((0, len(np00)))
npp = np.vstack((npp, np00))
kt = kurtosis(npp[0])
return kt, npp