de gegevensverzameling bevat gemiddelde dagelijkse temperaturen. We willen maandelijkse gemiddelden. Dus laten we de gegevens oprollen tot een maandniveau. Dit blijkt een eenvoudig ding om te doen met behulp van Panda ‘ s.
df_resampled = df.resample('M').mean()
We staan op het punt om kolommen met variabele vertraging toe te voegen aan de dataset., Laten we een kopie van de dataset maken zodat we de oorspronkelijke dataset niet verstoren.
df_lagged = df_resampled.copy()
voeg 12 kolommen toe, elk met een vertraagde versie van TAVG.
for i in range(1, 13, 1): df_lagged = df_lagged.shift(i)
Print de eerste 15 rijen van de gegevensset met vertraagde variabelen.,
print(df_lagged.head(15))
Dit geeft de volgende output:
De eerste 12 rijen bevatten dankzij nan ‘ s geïntroduceerd door de shift-functie. Laten we deze 12 Rijen verwijderen.
druk de eerste paar rijen af om te bevestigen dat de NaNs zijn verwijderd.,
print(df_lagged.head())
voordat we nog meer gluren en in de gegevens prikken, zullen we 20% van de dataset opzij zetten voor het testen van het optimale model.
laten we nu alle mogelijke combinaties van vertraagde waarden maken. Hiervoor zullen we een woordenboek maken waarin de toetsen verschillende combinaties van de lag-nummers 1 tot en met 12 bevatten.
vervolgens zullen we herhalen over alle gegenereerde combinaties. Voor elke lag-combinatie bouwen we de expressie van het model met behulp van de patsy-syntaxis., Vervolgens bouwen we het lineaire regressiemodel voor die lag-combinatie van variabelen, we trainen het model op de trainingsdataset, we vragen statsmodels om ons de AIC-score voor het model te geven, en we maken een notitie van de AIC-score en het huidige ‘beste model’ als de huidige score lager is dan de minimumwaarde die we tot nu toe hebben gezien. We doen dit allemaal in het volgende stukje code:
laten we tenslotte de samenvatting van het beste OLSR-model afdrukken volgens ons evaluatiecriterium. Dit is het model met de laagste AIC score.
print(best_olsr_model_results.summary())
Dit print de volgende uitvoer., Ik heb een paar interessante gebieden in de uitvoer belicht: