python数据分布_Python中的数据分布

我有一个大的数据集和已发生的损失-我想通过蒙特卡罗模拟计算未来损失的分布。在

首先计算频率分布,然后计算严重性分布(在保险中,这称为频率-严重性模型)。在

请查看所附代码:from scipy.stats import lognorm, norm, poisson, gamma, expon

from scipy import stats

from matplotlib import pyplot as plt

import numpy as np

import pandas as pd

df = pd.read_excel('m3g.xlsx')

schaden = df["Schaden"]

fre = df.groupby("Jahr").size()

print(fre)

lam = np.sum(fre.values) / 13.0

print(lam)

print(stats.kstest(df["Schaden"],"lognorm",lognorm.fit(df["Schaden"])))

(arg,loc,scale) = lognorm.fit(df["Schaden"])

x = np.linspace(0, 0.3, 100)

_, ax = plt.subplots(1, 1)

plt.hist(schaden, bins = 'auto')

ax2 = ax.twinx()

ax2.plot(x, lognorm.pdf(x,arg, loc=loc, scale=scale), '-', color = "r", lw=2)

plt.show()

print(loc,scale,arg)

我想做的是找到最合适的分布。。。有没有一种方法可以尝试多种分布,然后选择最适合的分布?在

提前谢谢你并致以亲切的问候

你可能感兴趣的:(python数据分布)