Je fais des mains sur l'exercice de la régression des poissons de statistiques avec Python en Fresco Play. La déclaration du problème est comme: Chargez l'assurance DataSet R du paquet de masse. Capturez les données en tant que Pandas Dataframe. Construire un modèle de régression de poisson avec un journal d'une variable indépendante Détenteurs et revendications variables dépendantes. Adapter le modèle avec des données et trouver la somme des résidus.
Je suis coincé avec la dernière ligne, c'est-à-dire la somme des résidus p>
i utilisé Voici mon code P> np.sum (model.reesid) code>. Mais la réponse n'est pas acceptée p>
import statsmodels.api as sm
import statsmodels.formula.api as smf
import numpy as np
INS_data = sm.datasets.get_rdataset('Insurance','MASS').data
model = smf.poisson('Claims ~ np.log(Holders)', INS_data).fit()
print(np.sum(model.resid))
3 Réponses :
J'exécutais le code de Python2 qui a donné une mauvaise réponse, mais l'exécution à Python3 a donné la bonne réponse. Je ne connais pas la raison mais le code fonctionne parfaitement dans Python3 P>
@ Ça ne fonctionne pas pour moi. J'ai essayé à Python 3 env. Je reçois en dessous de la sortie, est-ce correct? Optimisation terminée avec succès. Valeur de la fonction actuelle: 3.468160 Itérations 7 6.679101716144942E-13
Pour résiduel, vous pouvez utiliser le concept de base de résiduel, c'est-à-dire Voici le code de code. P> import statsmodels.api as sm
import numpy as np
import statsmodels.formula.api as smf
Insurance = sm.datasets.get_rdataset('Insurance','MASS')
data = Insurance.data
data['Holders_'] = np.log(data['Holders'])
model = smf.poisson('Claims ~ Holders_',data).fit()
y_predicted = p.predict(data['Holders_'])
residual = (data['Claims']-y_predicted)
print(sum(residual))
Après beaucoup de sérards, je suis venu savoir que cela s'attend à une somme cumulative alors utilisez np.cumsum (modèle.Resid) Il passera dans FrescoLay P>
Veuillez mettre à jour la grammaire de votre réponse, il est très difficile de comprendre
Avez-vous eu une erreur lorsque vous avez utilisé np.sum? Ou n'a-t-il pas donné la bonne réponse?
@cenh j'ai répondu. Pas d'erreur. Mais la réponse n'est pas acceptée.
Avez-vous besoin d'une somme ou d'une somme cumulative par hasard?
@Dalen selon les questions, il devrait s'agir de la somme.
Quelle forme est-ce que mod modèle.Resid prend-il? Quel type de conteneur de données et ses types de valeurs et ses gammes? Avez-vous juvelé un coup d'oeil? Essayez np.cumsum () au lieu de np.sum (), juste au cas où.