Je voudrais jeter un regard plus concret sur ce que l'analyse de régression multiple peut nous dire. Par conséquent, nous créerons des échantillons de données à partir de données statistiques familières et effectuerons une analyse de régression multiple pour essayer l'interprétation. Pour créer les exemples de données cette fois, nous avons utilisé les deux sources de données suivantes.
➀ Site portail des statistiques gouvernementales "Fenêtre complète pour les statistiques gouvernementales e-Stat" Données préfectorales https://www.e-stat.go.jp/regional-statistics/ssdsview/prefectures ➁ Ministère de la Santé, du Travail et du Bien-être «Nouvelle infection à virus Corona» Statut des personnes testées positives dans chaque préfecture https://www.mhlw.go.jp/content/10906000/000646813.pdf
Tout d'abord, laissez la variable objective être le taux de personnes infectées par le nouveau virus corona. En tant que variables explicatives susceptibles d'influencer cela, nous avons préparé les sept variables suivantes en tant qu'indicateurs liés aux activités dites «à trois denses» et «des personnes» dont on pense qu'elles conduisent à la propagation de l'infection.
Nom de l'indicateur | Formule de calcul de l'indice | Année d'enquête |
---|---|---|
Ratio de population de la zone de concentration de la population(%) | Population du district de concentration de la population(Homme) / 総Homme口(Homme) | 2015 |
Ratio de population jour / nuit(%) | Population de jour/Population nocturne | 2015 |
Ratio d'emploi(%) | Nombre d'employés(Homme) / 総Homme口(Homme) | 2015 |
Ratio d'emploi des entreprises de restauration / hébergement(%) | Nombre d'employés(Entreprise de restauration / hébergement)(Homme) / Nombre d'employés(Homme) | 2005 |
Taux d'activité de voyage(%) | Taux d'activité de voyage 10歳以上(%) | 2016 |
Ratio de clients étrangers(%) | Nombre total d'invités étrangers(Homme) /Nombre total d'invités(Homme) | 2018 |
Ratio de ménage unique(%) | Nombre de ménages isolés(Ménage) / Ménage数(Ménage) | 2018 |
Taux de personnes infectées pour 100 000 habitants(%) | Nombre de personnes infectées Date positive(Homme) / 総Homme口(Homme) | Au 5 juillet 2020 |
import numpy as np #Calcul numérique
import pandas as pd #Opération de trame de données
from sklearn import linear_model #Modèle linéaire d'apprentissage automatique
#Spécifiez l'URL et lisez le fichier csv
url = 'https://raw.githubusercontent.com/yumi-ito/sample_data/master/covid19_factors_prefecture.csv'
df = pd.read_csv(url)
#Vérifiez le contenu en affichant les 5 premières lignes de données
df.head()
Puisque les données d'exemple (covid19_factors_prefecture.csv) sont placées sur GitHub, elles sont lues à partir de là. Il existe un «ratio de population», mais ce quartier densément peuplé (DID: Densely Inhabited District) est une zone urbaine définie par une certaine norme basée sur des données statistiques. Alors qu'est-ce qu'une zone urbaine, c'est une zone particulièrement densément peuplée, qui au sens large est une zone urbaine. En gros, quelle est la concentration de la population d'une préfecture dans la ville? Par exemple, à Hokkaido, si la densité de population est simplement définie, elle sera dispersée car la zone est grande, mais le ratio de population dans la zone densément peuplée est de 75,2%, et 3 personnes sur 4 vivent dans la zone urbaine, ce qui montre que la densité est remarquable.
#Obtenez des statistiques récapitulatives pour chaque colonne
df.describe()
Utilisez la fonction pandas describe
.
Inutile de dire que la valeur maximale est de 46,34% à Tokyo et la valeur minimale est de 0,00% dans la préfecture d'Iwate.
Je voudrais jeter un oeil au top 5 de chaque variable.
Il va sans dire que Tokyo est généralement le meilleur, mais je suis curieux que les deux préfectures de Hokuriku, Ishikawa et Toyama, soient classées dans le taux d'infection. Les deux préfectures sont peu visibles en termes de nombre de personnes infectées, mais le ratio de personnes infectées par rapport à la population de la préfecture est élevé. Soit dit en passant, le nombre réel est de 300 dans la préfecture d'Ishikawa et de 228 dans la préfecture de Toyama. Dans la préfecture d'Ishikawa, le ratio des travailleurs de la restauration / hébergement par rapport à l'ensemble des travailleurs de la préfecture est de 5,8%, ce qui est le même que celui de la préfecture de Nagano, qui est le cinquième le plus élevé au Japon. L'intention d'adopter cette variable est une interprétation un peu élargie, mais l'idée est que les activités économiques liées au tourisme telles que l'hébergement et les repas et boissons qui les accompagnent sont actives et qu'il existe de nombreuses possibilités de contact humain. En ce sens, la proéminence de la préfecture d'Okinawa peut être hochée. En outre, à Hokkaido, en plus du grand nombre de personnes infectées, de nombreux rapports ont fait état d'impacts touristiques dans les médias, mais il est vrai que le ratio d'étrangers par rapport au nombre total de personnes ayant passé la nuit en un an est C'est la 4ème place après la préfecture de Kyoto avec 25,3%.
Maintenant, faisons une analyse de régression multiple.
#Extraire uniquement les variables explicatives et les stocker dans la variable X
X = df.loc[:, 'Ratio de population de la zone de concentration de la population':'Ratio de ménage unique']
#Extraire uniquement la variable objectif et la stocker dans la variable Y
Y = df["Taux de personnes infectées pour 100 000 habitants"]
#Générer une instance d'un modèle linéaire
model = linear_model.LinearRegression()
#Passer des données pour générer un modèle
model.fit(X,Y)
#Obtenez la valeur du coefficient et stockez-la dans le coefficient variable
coefficient = model.coef_
#Convertir en bloc de données avec le nom de la colonne et le nom de l'index
df_coefficient = pd.DataFrame(coefficient, columns=["Coefficient de régression partiel"], index=[X.columns])
df_coefficient
Le coefficient de régression partielle représente ** l'ampleur de l'effet de chaque variable explicative sur la variable objective **. Premièrement, le «ratio emploi restaurant / hébergement» est de loin le plus important, suivi du «ratio voyageurs» et du «ratio de population jour / nuit». S'il s'agit d'un hébergement, il s'agit principalement de tourisme ou d'affaires. En d'autres termes, on peut dire que le fait que de nombreuses personnes viennent de l'extérieur de la préfecture et restent pendant un certain temps, et donc que la proportion de personnes engagées dans la restauration et l'hébergement soit élevée, a une grande influence sur le taux d'infection. De plus, si de nombreuses personnes entrent et sortent de la préfecture pour se déplacer ou se rendre à l'école, le nombre de personnes infectées augmentera également, donc en bref, la «restriction de mouvement» est efficace pour prévenir l'infection.
#Obtenir une section
model.intercept_
La section (intersection avec l'axe Y) a été calculée par la fonction ʻintercept_`, qui a révélé l'équation de régression multiple.
#Obtenez le facteur de décision
model.score(X, Y)
Enfin, la fonction «score» est utilisée pour calculer le coefficient de détermination $ R ^ 2 $ afin de confirmer la «qualité d'ajustement» de l'équation de régression multiple. En d'autres termes, dans quelle mesure cette équation de régression multiple peut-elle expliquer la relation causale réelle? Pour être honnête, je pensais que je voulais qu'il dépasse 0,8, mais je pense qu'il faut considérer la composition des variables explicatives (car je l'ai fait rapidement).