Wettbewerbsrekord von Ali Tianchi

        Die Nachfrage ist heutzutage relativ gering, daher möchte ich ein Spiel zum Spielen, Lernen, Aufladen und Suchen finden. Ich habe gesehen, dass Alibaba Cloud viele laufende Spiele hat, also habe ich mich für eines angemeldet. Ich habe die Daten am Anfang gesehen und Ich habe die Daten gefühlt. Es ist nicht groß, es sollte einfach zu machen sein, aber nach genauerem Hinsehen hat die Konkurrenz Algorithmenanforderungen, und ich habe eine Liste von Algorithmen gegeben. Ich habe einen Blick darauf geworfen, Scheiße, ich habe keinen von ihnen gesehen Dank meiner Datenanalyse seit mehr als einem halben Jahr scheint es immer noch zart zu sein Ja, das grundlegende theoretische Wissen ist zu schwach und muss stark ergänzt werden, also verschiedene Baidu, schauen Sie sich an, was die Algorithmen auf der Algorithmenliste nach einiger Zeit tun Bei der Suche fand ich heraus, dass die aufgelisteten Algorithmen alle formelartig sind und verglichen werden müssen Solides theoretisches Wissen, Wahrscheinlichkeit und Statistik, lineare Algebra, Analysis usw. Später suchte ich nach nützlichen Paketen, um dies zu tun, und fand es dort ist ein Paket dafür, es ist statsmodels, also habe ich angefangen, das sm-Dokument zu lesen, nach zwei Tagen des Lesens habe ich endlich ein Modell gesehen, das im Wettbewerb verwendet werden kann, also habe ich schnell die Datenmodellierung eingebracht, prognostiziert, gemacht ein Ergebnis und habe es eingereicht, hey, sag es nicht, komm hoch Die Genauigkeitsrate war 0,49, in der Rangliste Platz 46. Ich bin gut gelaunt und habe ein großes Erfolgserlebnis, obwohl ich es nicht berechnet habe das spezifische Prinzip noch heraus, haha.

Schneiden Sie den Unsinn ab und geben Sie den Code ein

from statsmodels.datasets import co2
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
f = r"C:\Users\c-master\Desktop\下载\tianchi\train.csv"
data = pd.read_csv(f)
data.set_index('time',inplace=True)
#data=co2.load(as_pandas=True).data
#data = data[['cv1']]
print(data)

data.plot()

data_diff=data.diff(20).dropna()#12阶差分,删掉缺失值
data_diff=data
print(data_diff.head(10))

from statsmodels.tsa.arima_model import ARMA#导入ARMA类
from statsmodels.tsa.api import VAR
#from statsmodels.tsa.arima.model import ARMA,ARIMA
model=VAR(data_diff)
results = model.fit(1)
print(results.summary())

results.plot()

results.plot_acorr()

predict_df = pd.read_csv(r"C:\Users\c-master\Desktop\下载\tianchi\predict.csv")
predict_data = predict_df.set_index("time")
lag_order = results.k_ar
print(lag_order)
df = pd.DataFrame({
    'cv1':[324],
    'cv2':[0.877]
})
for i in range(0,50):
    pre_res = results.forecast(predict_data.values[i*100+2-1:i*100+2], 99)
    tmp_data = predict_data.iloc[i*100+2-1:i*100+2,[3,4]].copy()

    dt = pd.DataFrame(pre_res,columns=['dv1','dv2','mv1','cv1','cv2'])
    tmp_res = dt.loc[:,['cv1','cv2']]
    df = pd.concat([df,tmp_data,tmp_res],axis=0)

df.to_csv("predict.txt",index=False)

Diese Code-Implementierung ist ein var-Algorithmus, der in einen vektorautoregressiven Algorithmus übersetzt wird, der verwendet wird, um mehrspaltige Zeitreihen-Datenmodellierungen zu verarbeiten. In dem Moment, in dem Deep Learning boomt, ist es bereits jedem bekannt. Es gibt eine spezielle Neuralfunktion Netzwerk LSTM für Zeitreihenvorhersage, Trasformer usw., aber es gibt keine Möglichkeit, der Beamte erlaubt es nicht, weil dieser Algorithmus im Controller verwendet werden muss und das neuronale Netzwerkmodell erstens relativ groß ist und zweitens das Die Interpretierbarkeit ist relativ schlecht, daher nicht geeignet, daher können nur die traditionellen Formelmodelle verwendet werden, obwohl diese traditionellen Modelle unter der Brillanz neuronaler Netze nicht mehr so ​​​​glänzen, aber der technische Inhalt ist eindeutig, und es ist schwieriger zu verstehen als neuronale Netze, weil es viel theoretisches Wissen erfordert.

        Im Allgemeinen ist dieser Wettbewerb immer noch sehr lohnend. Unabhängig von der endgültigen Platzierung werden Sie durch den Wettbewerb wissen, wo Sie etwas aufholen und lernen müssen. Diese versteckten Ziele sind die wichtigsten.

Guess you like

Origin blog.csdn.net/zy1620454507/article/details/128972434
Ali