** Qu'est-ce que l'analyse de régression ** Une méthode pour connaître le degré d'influence de la variable explicative x (cause) sur la variable objective y (résultat). S'il n'y a qu'une seule variable explicative x, utilisez une analyse de régression simple, et s'il y a plusieurs variables explicatives x, utilisez une analyse de régression multiple.
** Modèle théorique d'équation de régression ** y = α + βx + u Variable objective = section + pente * variable explicative + terme d'erreur
Une analyse de régression simple peut être effectuée avec Excel, mais cette fois, j'ai essayé de la vérifier avec Python pour la pratique. (Je l'ai écrit après avoir vérifié les documents de référence et reçu des conseils d'un professeur d'université, mais il peut y avoir des erreurs.
** Ce que vous voulez vérifier ** Cette fois, nous examinerons "dans quelle mesure l'augmentation ou la diminution du nombre de vols directs en provenance de Chine, de Corée du Sud, de Taiwan et de Hong Kong affecte le nombre de visiteurs au Japon". La variable objective est "le nombre de visiteurs au Japon en provenance des pays asiatiques", et la variable explicative est uniquement "le nombre de vols directs en provenance des pays asiatiques". Outre le nombre de vols directs, les taux de change, les catastrophes naturelles, la sécurité, etc. sont également considérés comme des facteurs qui augmentent ou diminuent le nombre de visiteurs au Japon, je pense donc que l'analyse de régression multiple est plus appropriée pour la vérification, mais j'aimerais la vérifier à nouveau la prochaine fois.
** Données à utiliser ** --Ministère du foncier, des infrastructures, des transports et du tourisme Office du tourisme "Enquête sur les statistiques des voyages d'hébergement" 2015-2018 (http://www.mlit.go.jp/kankocho/siryou/toukei/shukuhakutoukei.html) --Ministère du Territoire, des Infrastructures, des Transports et du Tourisme "International Flight Status" Horaires d'été et d'hiver 2015-2018 (https://www.mlit.go.jp/koku/koku_fr19_000005.html)
J'ai créé la feuille Excel suivante en utilisant en quelque sorte les deux données ci-dessus. Le nombre de vols directs en provenance des pays asiatiques et le nombre de visiteurs au Japon sont résumés par préfecture. 0 est entré dans les zones où il n'y a pas de vols directs ou où il n'y a pas d'aéroport en premier lieu.
Utilisez pandas
pour lire les données et les stocker dans un fichier de données.
Saisissez le nombre de vols directs en x et le nombre de visiteurs au Japon en y.
linear-regression.py
import pandas as pd
df = pd.read_excel('2016_summer_original.xlsx', sheet_name='Sheet2', encoding='utf-8')
x = df[['Corée']]
y = df[['Nombre de visiteurs au Japon']]
Utilisez scikit-learn
pour une analyse de régression simple et matplotlib
pour créer un graphique.
linear-regression.py
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.linear_model import LinearRegression
##Tracez une ligne de régression
model_lr = LinearRegression()
model_lr.fit(x, y)
plt.plot(x, y, 'o')
plt.plot(x, model_lr.predict(x), linestyle="solid")
plt.show()
De plus, créez des statistiques descriptives avec stats model
.
linear-regression.py
import statsmodels.api as sm
#Afficher les statistiques descriptives
x_add_const = sm.add_constant(x)
model_sm = sm.OLS(y, x_add_const).fit()
print(model_sm.summary())
Voici le résultat de l'exécution. C'est une tuerie instantanée: rire:
Comparons les résultats de la Chine et de Hong Kong à l'été 2015.
Chine Modèle: y = 942,76x + 21142,86 P>|t|:0.000 R-squared:0.405
Hong Kong Modèle: y = 961.33x + 4053.08 P>|t|:0.000 R-squared:0.654
À tout le moins, la signification des résultats de l'analyse et la capacité à expliquer la formule doivent être vues dans la «valeur P» et la «R2» des statistiques descriptives. La «valeur P» est la probabilité de rejeter l'hypothèse nulle (l'hypothèse opposée à ce que vous voulez affirmer). S'il est inférieur à 5%, il est statistiquement significatif. Le «coefficient de décision R2» est un indice qui mesure dans quelle mesure la droite de régression estimée s'applique aux données observées. Plus la valeur est proche de 1, meilleure est l'ajustement. Dans la figure ci-dessus, si le point bleu est proche de la ligne orange, l'ajustement est bon.
D'après le modèle de régression, la Chine semble augmenter de 943 pour chaque vol direct supplémentaire. Le résultat est significatif car la valeur P est 0, mais l'explication de la formule est faible. En revanche, à Hong Kong, le nombre de personnes augmente de 961 pour chaque vol supplémentaire, ce qui montre qu'il est significatif et a le pouvoir d'expliquer la formule.
Étant donné que les données de vol sans escale publiées sont de 2015 à 2018, l'objectif d'analyse est limité à la période pendant laquelle les données existent, et comme il ne s'agit pas de données mensuelles, il n'est pas possible d'analyser les changements continus. C'était dommage. Je ne l'ai pas mentionné dans l'article car ce n'est pas le principal, mais cette fois, il était plus difficile de collecter et de prétraiter les données que de les analyser: sueur_smile: La prochaine fois, j'aimerais le vérifier avec une analyse de régression multiple.
J'ai essayé d'expliquer comment analyser les données avec Python pour les débutants [# 1 Comment effectuer une analyse de régression simple avec Scikit-learn](https://medium.com/@yamasaKit/scikit-learn%E3%81%A7%E5%8D%98%E5%9B%9E%E5% B8% B0% E5% 88% 86% E6% 9E% 90% E3% 82% 92% E8% A1% 8C% E3% 81% 86% E6% 96% B9% E6% B3% 95-f6baa2cb761e) Comment lire les résultats d'une analyse de régression simple [Outil d'analyse de données Excel] [Analyse de régression série 2] (Vidéo) [Shinichi Kurihara et Atsushi Maruyama "Statistical Picture Book" Ohm Co., Ltd.](https://www.amazon.co.jp/%E7%B5%B1%E8%A8%88%E5%AD%A6%E5%9B% B3% E9% 91% 91-% E6% A0% 97% E5% 8E% 9F-% E4% BC% B8% E4% B8% 80 / dp / 427422080X)
Recommended Posts