Simulazioni Monte Carlo in Python
Izzy Weber
Curriculum Manager, DataCamp
.nnlf() calcola la verosimiglianza negativa.nnlf(), migliore è il fitsns.histplot(dia["age"])

distributions = [st.laplace, st.norm, st.expon]

mles = []for distribution in distributions: pars = distribution.fit(dia["age"])mle = distribution.nnlf(pars, dia["age"])mles.append(mle)print(mles)
[1797.8467779878652, 1764.0693689033028, 1938.171599681118]
for var in ["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"]:distributions = [st.laplace, st.norm, st.expon] mles = []for distribution in distributions: pars = distribution.fit(dia[var]) mle = distribution.nnlf(pars, dia[var]) mles.append(mle)best_fit = sorted(zip(distributions, mles), key=lambda d: d[1])[0] print(f"Best fit raggiunto con {best_fit[0].name}, \ valore MLE: {best_fit[1]}, per la variabile {var}")
Miglior fit con norm, valore MLE: 1764.0693689033028, per la variabile age
Miglior fit con norm, valore MLE: 1283.356127017369, per la variabile bmi
Miglior fit con norm, valore MLE: 1787.7746251622739, per la variabile bp
Miglior fit con norm, valore MLE: 2193.1564373753627, per la variabile to
Miglior fit con norm, valore MLE: 2136.0440476305284, per la variabile ldl
Miglior fit con norm, valore MLE: 1758.1350738323013, per la variabile hdl
Miglior fit con norm, valore MLE: 739.3762494786798, per la variabile tch
Miglior fit con norm, valore MLE: 339.6620870566908, per la variabile ltg
Miglior fit con norm, valore MLE: 1706.0467588930867, per la variabile glu
Simulazioni Monte Carlo in Python