[PYTHON] Untersuchung des Zusammenhangs zwischen Eisausgaben und Temperatur

Datenanalyse Anfänger untersuchten Pandas, indem sie den Zusammenhang zwischen den Ausgaben für Eis pro Haushalt und der Temperatur untersuchten. (Ich kann das Ergebnis irgendwie sehen ...) Die Referenz war "[Einführung in die Datenanalyse durch Python](https://www.amazon.co.jp/Python%E3%81%AB%E3%82%88%E3%82%8B%E3%83%". 87% E3% 83% BC% E3% 82% BF% E8% A7% A3% E6% 9E% 90% E5% 85% A5% E9% 96% 80-% E5% B1% B1% E5% 86% 85 -% E9% 95% B7% E6% 89% BF / dp / 4274222888 / ref = sr_1_3? __ mk_ja_JP =% E3% 82% AB% E3% 82% BF% E3% 82% AB% E3% 83% 8A & Schlüsselwörter = Python + % E3% 83% 87% E3% 83% BC% E3% 82% BF% E8% A7% A3% E6% 9E% 90 & qid = 1583399806 & sr = 8-3) "und die folgenden zwei Standorte.

Icecream BIZ Statistics Monatliche Durchschnittstemperatur der Meteorologischen Agentur

Ich habe die auf der obigen Website veröffentlichten Daten für 2018 verwendet.

Abrufen von Daten mit Web Scraping

import pandas as pd
import math
import matplotlib.pyplot as plt
import statsmodels.api as sm
ice_url = 'http://www.icecream.or.jp/biz/data/expenditures.html'
temp_url = 'http://www.data.jma.go.jp/obd/stats/etrn/view/monthly_s3.php?%20prec_no=44&block_no=47662'
ice = pd.read_html(ice_url)[0] 
temp = pd.read_html(temp_url)[0]
# [0]Gibt die erste Tabelle in an
ice_2018 = ice.iloc[1:13, 5].astype(float)
temp_2018 = temp.iloc[144, 1:13].astype(float)
#Extrahieren Sie nur 2018-Daten und konvertieren Sie sie in einen numerischen Typ
month = pd.DataFrame([i for i in range(13)])
#Habe n Monate fertig

Jetzt haben Sie die Eisausgaben 2018 pro Haushalt und die durchschnittliche monatliche Temperatur.

Finden Sie die Korrelation

icecream = pd.concat([month, ice_2018, temp_2018], axis=1)[1:]
#Kombinieren Sie n Monate, Eisausgaben und Durchschnittstemperatur
x_data, y_data = icecream[144], icecream[5]
avetem, aveex = x_data.sum() / 12, y_data.sum() / 12
#Jährliche Durchschnittstemperatur(avetem)Und Eisausgaben(aveex)Wurde gefragt

Der Korrelationskoeffizient wird wie folgt ausgedrückt, indem die Kovarianz $ S_ {xy} $ usw. verwendet wird.

r = \frac{S_{xy}}{\sqrt{S_{xx}S_{yy}}}

Nach dieser Formel wurde der Korrelationskoeffizient $ r $ ehrlich wie folgt berechnet. (Ich denke, es gibt einen besseren Weg)

for i in range(len(icecream)):
    ex = icecream.iloc[i,1] - aveex
    tem = icecream.iloc[i,2] - avetem
    extem += ex*tem
    ex0 += ex**2
    tem0 += tem**2
extem0 = math.sqrt(ex0)*math.sqrt(tem0)
r = extem / extem0
# r = 0.8955143151163499

Dieses Ergebnis zeigt, dass eine starke Korrelation zwischen den Ausgaben für Eiscreme und der Temperatur besteht.

Regressionsanalyse

Lassen Sie uns abschließend eine Regressionsanalyse mit Pandas ols durchführen.

X = sm.add_constant(x_data) #Es scheint notwendig, einen Abschnitt zu finden
model = sm.OLS(y_data, X)
results = model.fit()
a, b = results.params[0], results.params[1]
# a:Abschnitt b:Neigung
plt.plot(x_data, a+b*x_data)
plt.scatter(icecream[144], icecream[5])

ice_temp.png

Als Ergebnis wurde eine Regressionslinie wie in der Figur gezeigt erhalten.

In der Tat scheint es, dass Sie Eis essen möchten, wenn es heiß wird.

Recommended Posts

Untersuchung des Zusammenhangs zwischen Eisausgaben und Temperatur
Die subtile Beziehung zwischen Gentoo und Pip
Über die Beziehung zwischen Git und GitHub
Untersuchen Sie die Beziehung zwischen TensorFlow und Keras in der Übergangszeit
[Statistik] Lassen Sie uns die Beziehung zwischen der Normalverteilung und der Chi-Quadrat-Verteilung visualisieren.
Untersuchen Sie die Beziehung zwischen zwei Variablen (2)
Untersuchen Sie die Beziehung zwischen zwei Variablen (1)
Ich untersuchte die Beziehung zwischen Keras 'zustandsbehaftetem LSTM und verstecktem Zustand
Beziehung zwischen Netfilter, Firewall, Iptables und Nftables
Lassen Sie uns die Beziehung zwischen Durchschnittsgehalt und Industrie mit XBRL-Daten und Seaborn visualisieren! (7/10)
Was ist der Unterschied zwischen "pip" und "conda"?
Beziehung zwischen Firestore- und Go-Datentypkonvertierung
Zusammenfassung der Unterschiede zwischen PHP und Python
Die Antwort von "1/2" unterscheidet sich zwischen Python2 und 3
Über den Unterschied zwischen "==" und "is" in Python
Über den Unterschied zwischen PostgreSQL su und sudo
Was ist der Unterschied zwischen Unix und Linux?
Untersuchung der Beziehung zwischen Sprachvorverarbeitung und Transkriptionsgenauigkeit in der Google Cloud Speech API