[PYTHON] Analyse de régression de Poisson

Analyse de régression de Poisson

L'analyse de régression de Poisson est également une analyse de régression non linéaire. La fonction de distribution peut être estimée par la méthode d'estimation la plus probable en supposant une distribution de Poisson. Cette méthode d'analyse est essentiellement une approche qui peut être utilisée pour ceux qui ont des «données de dénombrement» comme variable dépendante. En outre, la variable dépendante doit être un entier supérieur ou égal à 0. Voici des exemples typiques d'analyse de régression de Poisson qui peuvent être utilisés. ex) Nombre d'accidents de la circulation, nombre de visiteurs, nombre d'enfants ... Veuillez noter que si vous l'utilisez simplement parce que la distribution ressemble à une distribution de Poisson, vous obtiendrez une mauvaise analyse.

Théorie de l'analyse de régression de Poisson

La fonction de distribution d'une distribution de Poisson typique est la suivante. $ \frac{\lambda^s exp(-\lambda)}{s!}$

Dans l'analyse de régression de Poisson, le modèle suivant est placé. E[y_i|X_i]=exp(X\beta) = \lambda

Ensuite, trouvez $ P (y_i | X_i) $. P(y_i|X_i) = \frac{exp(X\beta)^{y_i} exp[exp(X\beta)]}{y_i!}

Ensuite, trouvez la fonction de vraisemblance. $L(\beta)=\Pi P(y_i|X_i) $ L'estimation la plus probable de ceci ne peut pas être calculée à la main, alors demandez à la fonction d'optimisation de la calculer.

Effet de l'analyse de régression de Poisson

Lors du calcul de l'effet limite de $ E [y_i | X_i] = exp (X \ beta) $, \frac{\partial E[y_i|X_i] }{\partial X} = \beta exp(X\beta)=\beta \bar{y}

Code Python

import statsmodels.api as sm
import pandas as pd
#read data
data=pd.read_csv("___.csv")
target=data.loc[:,"name"]
explain=data.loc[:,["names"]]

#it is necessary to add constant variable
explain=sm.add_constant(explain)

model=sm.Poisson(target, explain)
result=model.fit()
#you can get beta but not Partial effect
print(result.summary())

#you can get Partial Effect!!
print(result.get_margeff(at="overall").summary())
#if you change [at="overall"], the way of calculation can be change 

Recommended Posts

Analyse de régression de Poisson
Méthode d'analyse de régression
Bases de l'analyse de régression
Effectuer une analyse de régression avec NumPy
Analyse de régression avec Python
Qu'est-ce que l'analyse de régression logistique?
Analyse de régression multiple avec Keras
Analyse de régression simple avec Python
Première analyse de régression simple en Python
Algorithme d'apprentissage automatique (analyse de régression multiple)
Algorithme d'apprentissage automatique (analyse de régression unique)
Analyse de données pour améliorer POG 3 ~ Analyse de régression ~
Implémentation simple de l'analyse de régression avec Keras
Qu'est-ce que l'analyse de régression logistique à plusieurs termes?
Analyse de régression logistique Self-made avec python
J'ai essayé l'analyse de régression multiple avec régression polypoly
Retour logistique
Apprentissage automatique avec python (2) Analyse de régression simple
Retour logistique
Régression linéaire
Analyse parabolique
Analyse de régression simple par la méthode des moindres carrés
Analyse des séries chronologiques n ° 6 Faux retour et partie républicaine
[Apprentissage automatique] Analyse de régression à l'aide de scicit learn
[scikit-learn, matplotlib] Analyse de régression multiple et dessin 3D
Créer un modèle à sorties multiples pour l’analyse de régression [Débutant]
Analyse de régression LASSO facile avec Python (pas de théorie)