ポアソン分布でフィットしたい
\[P(x) = \exp(-\lambda)\frac{\lambda^{x}} {x!}
\]
1import pandas as pd
2import numpy as np
3import math
4from scipy.optimize import curve_fit
5
6def poisson_function(x, amp, mu):
7 """ポアソン分布
8 """
9 f = amp * math.exp(-mu) * mu**x / math.factorial(x)
10 return f
11
12def fix(data: pd.DataFrame):
13
14 func = poisson_function
15 x_data =
16 y_data =
17 p_init = [amp0, mu0]
18 popt, pcov = curve_fit(func, x_data, y_data, p_init)
19 perr = np.sqrt(np.diag(pcov))