问题描述
下面的代码映射了由Johnson-SU distribution (a
)。
对于我在下面的代码中指定的循环值范围,没有参数配置会导致正偏度,只有负偏度,即使应该可以将 Johnson-SU 分布参数化为正偏度。
b
打印的最小和最大时刻是:
loc
对于 scale
、johnsonsu
、import numpy as np
import pandas as pd
from scipy.stats import johnsonsu
moments = ['mu','sd','sk','ku']
X = []
for a in np.arange(0.5,5,.5):
for b in np.arange(0.5,.5):
for c in np.arange(-0.5,0.5,.25): #loc
for d in [1]: #scale
mvsk = johnsonsu.stats(a,b,c,d,moments='mvsk')
mvsk = [mvsk[i].tolist() for i in range(len(mvsk))]
X.append([a,d]+mvsk)
X = pd.DataFrame(np.asarray(X),columns=['a','b','c','d']+moments)
for m in moments:
print(m,X[[m]].min().round(3).values[0],X[[m]].max().round(3).values[0])
和 mu -29937.57 0.136
sd 0.053 48036174150.987
sk -414.36 -0.078
ku 0.221 41173.869
参数,探索哪些范围比我在下面指定的范围更好? documentation 只说明 a
和 b
必须为正数,没有说明 loc
和 scale
必须限制为什么。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)