Presque un mémorandum
** Introduction aux modèles de statistiques (OLS) pour ceux qui sont coincés avec des exemples de données </ font> **
Ceci est un article d'introduction pour ceux qui ont essayé un échantillon de régression avec des statsmodels et sont bloqués avec leurs propres données.
Le cas supposé par ce script est un restaurant fictif (supposé être un bar ou un sky lounge), et les ventes sont supposées avoir des données de ventes fictives qui enregistrent les principales catégories de produits, le prix unitaire par client, le nombre de visiteurs, etc. Y a-t-il une tendance les jours où il y en a beaucoup? C'est un décor.
【environnement】 Linux: debian10.3 python: 3.7.3 pandas: 1.0.3 statsmodels: 0.11.1 jupyter-lab: 2.1.0
En supposant que vous ayez un fichier csv comme celui ci-dessous
Date,earnings,customer,earnings_customer,fortified_sweet,rum,brown_spirits,mojito_rebjito,cocktail,bar_food,cigar 2020-03-01,30000,5,6000,2,2,2,3,2,5,1
[1] Application du modèle et affichage du résumé (suite du temps précédent)
statsmodels
#Modèle de régression d'appel
model = sm.OLS(y, sm.add_constant(X))
#Créer un modèle
results = model.fit()
#Afficher les détails des résultats
print(results.summary())
OLS Regression Results
==============================================================================
Dep. Variable: earnings R-squared: 0.930
Model: OLS Adj. R-squared: 0.921
Method: Least Squares F-statistic: 100.8
Date: Sat, 09 May 2020 Prob (F-statistic): 2.50e-28
Time: 01:09:38 Log-Likelihood: -618.49
No. Observations: 61 AIC: 1253.
Df Residuals: 53 BIC: 1270.
Df Model: 7
Covariance Type: nonrobust
===================================================================================
coef std err t P>|t| [0.025 0.975]
-----------------------------------------------------------------------------------
const -435.1552 2434.515 -0.179 0.859 -5318.173 4447.863
customer 5103.4245 617.184 8.269 0.000 3865.511 6341.338
fortified_sweet 844.1247 543.874 1.552 0.127 -246.747 1934.997
rum -389.6465 440.184 -0.885 0.380 -1272.545 493.252
brown_spirits 1267.2019 581.664 2.179 0.034 100.532 2433.872
cocktail -1766.9369 568.908 -3.106 0.003 -2908.022 -625.852
bar_food 74.3759 514.091 0.145 0.886 -956.760 1105.512
cigar 4420.0626 599.323 7.375 0.000 3217.972 5622.153
==============================================================================
Omnibus: 16.459 Durbin-Watson: 1.864
Prob(Omnibus): 0.000 Jarque-Bera (JB): 24.107
Skew: 0.971 Prob(JB): 5.83e-06
Kurtosis: 5.390 Cond. No. 37.4
==============================================================================
Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
** En regardant une partie du résumé **
statsmodels
#Afficher les détails des résultats
print(results.summary())
Une partie du résumé
R-squared: 0.930
Adj. R-squared: 0.921
AIC: 1253.
coef std err t P>|t| [0.025 0.975]
-----------------------------------------------------------------------------------
customer 5103.4245 617.184 8.269 0.000 3865.511 6341.338
fortified_sweet 844.1247 543.874 1.552 0.127 -246.747 1934.997
rum -389.6465 440.184 -0.885 0.380 -1272.545 493.252
brown_spirits 1267.2019 581.664 2.179 0.034 100.532 2433.872
cocktail -1766.9369 568.908 -3.106 0.003 -2908.022 -625.852
bar_food 74.3759 514.091 0.145 0.886 -956.760 1105.512
cigar 4420.0626 599.323 7.375 0.000 3217.972 5622.153
Lorsque le résumé est affiché, il y a quelque chose à regarder en premier.
Coefficient de détermination «R au carré» (plus il est proche de 1, plus la précision est élevée) "Adj. R-carré" Coefficient de décision ajusté en liberté (coefficient de décision lorsqu'il y a de nombreuses variables explicatives) -Dans ce cas, il existe de nombreuses variables explicatives, donc je jugerai par cette valeur.
"AIC" Dans quelle mesure le modèle convient-il? (Plus la valeur est petite, plus la précision est élevée.) ・ Il semble que la valeur numérique soit trop grande (faible précision)
Coefficient de régression "Coef" (plus la valeur est élevée, plus l'effet sur l'ensemble est important) ・ En regardant cela, il semble que «client» et «cigare» ont une grande influence.
「>|t|」(Le plus petit(À titre de référence, 0.Moins de 05), L'influence des variables n'est probablement pas accidentelle) ・ En regardant cela, il semble que ce n'est pas un hasard si la valeur du «cocktail» est faible en plus de «client» et «cigare».
** En regardant le résumé jusqu'à présent, il semble qu'il existe de nombreuses variables explicatives. ** **
On peut dire que "client" et "cigare" ont une grande influence sur les ventes. </ font>
En regardant la sortie du coefficient de régression, on peut dire que le résultat est presque comme prévu.
** En regardant la valeur de "AIC", il semble qu'il existe de nombreuses variables explicatives et la précision est faible. ** ** Je vais réduire les variables explicatives et recommencer l'analyse.
Les résultats de la réanalyse seront mis à jour à un autre moment.
Si vous postez d'abord uniquement le graphique, il n'y a pas de légende, mais si vous regardez le graphique, la ligne bleuâtre est le mouvement du "client (le nombre d'invités en visite)" et la ligne rougeâtre est le mouvement du "cigare (fourni par le cigare)".
** Ci-dessus, [pour les débutants] C'était pour les personnes qui se sont arrêtées à leurs propres données du modèle de régression (modèles de statistiques (2ème fois)). ** **
Recommended Posts