Partea III – Utilizarea R în Excel – Previziuni

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

(Acest articol a fost publicat pentru prima dată pe Laboratorul software al lui Adamși a contribuit cu drag la R-Bloggers). (Puteți raporta problema despre conținutul de pe această pagină aici)


Doriți să vă împărtășiți conținutul pe R-Bloggers? Faceți clic aici dacă aveți un blog sau aici dacă nu.

Introducere

Am văzut deja cum să obținem statistici descriptive în partea I și cum să folosim lm() În partea a II -a. În această parte (partea a III -a) a seriei vom analiza folosirea R în Excel pentru a efectua prognoză și analiza seriilor de timp.

În cele două părți precedente am văzut modalități diferite de a gestiona ieșirea de la apelurile funcționale R, dezambalarea și masarea datelor, după cum este necesar. În această parte ne vom concentra pe configurarea și interacțiunea cu o serie de modele din pachetul „prognoză” (fpp2)

Cartea de lucru pentru această parte a seriei este: „Partea a III -a – r în Excel – previziuni.xlsx”. Ca și înainte, fișele de lucru „Referințe” listează link -uri către referințe externe. Fișa de lucru „Biblioteci” încarcă pachete suplimentare (fără default). În această demonstrație, folosesc fpp2 pachet. Fișa de lucru „Seturi de date” conține datele la care se face referire în foile de lucru.

Medie în mișcare

În această foaie de lucru ne uităm la funcția medie în mișcare în pachetul de prognoză. ma Calculează o simplă ușoară mișcare a unei serii de timp date. Datele pe care le folosim constă în vânzări de înghețată.

În postările anterioare am folosit „scripturi” pentru a apela funcțiile R. Deci, în acest caz, am putea evalua

ma(Sales, 3, FALSE)

Și obțineți înapoi seria de timp netezită.

Cu toate acestea, pe măsură ce modelele devin mai complexe, iar numărul și tipurile de parametri cresc, această abordare devine mai puțin gestionabilă. O alternativă este să folosești unul dintre obiceiuri Forecast. Funcții furnizate de supliment. Acest lucru ne permite să configuram parametrii modelului ca un bloc de parametri numiți cu valorile corespunzătoare ale acestora. Am văzut deja un exemplu în acest sens în partea a II -a unde am creat un model de regresie logistică. În cazul în care Forecast.MADăm modelului un nume descriptiv. Știm din documentație că modelul ia doi parametri: ordinea („Ordinea de a muta media mai ușoară”) și centrul („Dacă este adevărat, atunci media în mișcare este centrată chiar și pentru comenzi”) Apoi numim doar o funcție obișnuită a foii de lucru Excel.

Model mediu în mișcare

Add-in-ul oferă ambalaje în jurul unui număr de funcții din pachetul de prognoză. Acestea sunt următoarele:

  • Prognoză.ma – netezire medie în mișcare
  • Previziuni.SES – Simplu netezire exponențială
  • Prognoză.holt – Holt netezire exponențială
  • Prognoză.HW-Holt-Winters netezire exponențială.
  • Previziune.Autoets – Model de spațiu de stare de netezire exponențială.
  • Prognoză.arima-Model mediu integrat automat integrat în mișcare
  • Prognoză.autoarima – se potrivește cel mai bun model ARIMA pentru univariate Serie de timp
  • Prognoze.FC – Funcție generică pentru prognoză de la modele de serie de timp sau serii de timp
  • Prognoză.Meanf – Previziune medie
  • Prognoză.RWF – Previziuni și intervale de predicție pentru o plimbare aleatorie cu modelul de derivă
  • Prognoză.splinef – previziuni liniare locale și intervale de predicție folosind spline cubice de netezire
  • Prognoză.Thetaf – Previziuni și intervale de predicție pentru o metodă theta prognoză
  • Prognoză.croston – prognoze și alte informații pentru prognozele lui Croston

Netezire exponențială simplă

În acest exemplu, creăm un model simplu de netezire exponențială. Ca și înainte de a configura parametrii modelului în urma pachetului de prognoză ses documentare. Din fericire, majoritatea valorilor sunt implicite, astfel încât furnizăm doar intrări pentru următoarele:

  • alfa – Valoarea parametrului de netezire pentru nivel. Dacă este nul, va fi estimat.
  • h – Numărul de perioade pentru prognoză.

Apoi putem apela funcția de supliment Forecast.SES(...).

Netezire exponențială simplăNetezire exponențială simplă

Modelul returnează prognozele solicitate cu media și limitele inferioare și superioare pentru intervalele de predicție.

În exemplele anterioare, am extras rezultatele modelului prin concatenarea numelui modelului returnat („SES3” în acest caz) cu etichete din model. După cum este ilustrat în partea a II-a, pentru a facilita preluarea rezultatelor, suplimentul oferă câteva funcții suplimentare pentru modelele de interogare: Model.Results Rezultă o listă de rezultate din model. Model.Result rezultă rezultatul obținut dintr -un element al listei de rezultate ale modelului. Opțional, rezultatul poate fi formatat ca un cadru de date. Acest lucru este ceva mai convenabil decât trebuie să evaluați scripturile formei model name'$coeffcientsetc. În sfârșit, Model.Accuracy Returnează o serie de statistici referitoare la măsurile de precizie a modelului.

Rezultatele modeluluiRezultatele modelului

Modelul Holt-Winters

Fișa de lucru HW ilustrează lucrul cu modelul Holt-Winters. În acest caz, am configurat două modele diferite cu parametrii respectivi, fiecare cu propriul bloc de parametri: un aditiv model și a multiplicativ model. Cu toate acestea, mai întâi trebuie să abordăm o problemă cu „tipul de date” al setului de date. De obicei, putem crea doar un vector numeric. Din păcate, parametrul de serie al modelului Holt-Winters necesită informații despre frecvența cu care apar observațiile din vector. Prin urmare, creăm mai întâi un vector numeric și apoi îl transformăm într -un ts Vector din seria de timp cu informații de frecvență încorporate. În prezent, The Excelraddin nu acceptă Seria de timp ca tip de date. Acest lucru va fi adăugat ca o îmbunătățire viitoare.

Modele Holt-WintersModele Holt-Winters

Arima

Exemplul final se referă la modelul ARIMA. Configurarea modelului este ceva mai complicată decât în cazurile anterioare. Mai exact, The order și seasonal parametri.

Din documentație știm că order Parametrul este o specificație a părții non-sezoniere a modelului ARIMA: cele trei componente (P, D, Q) sunt ordinea AR, gradul de diferențiere și ordinea MA. Pentru a gestiona această specificație, introducem componentele folosind notația vectorială: c(0, 1, 1).

Pentru seasonal Parametrul, documentația spune: „O specificație a părții sezoniere a modelului ARIMA, plus perioada (care este implicit la frecvență (Y)). Aceasta ar trebui să fie o listă cu componentă și perioada componentelor, dar o specificație a unui vector numeric de lungime 3 va fi transformată într -o listă adecvată cu specificația ca comandă.”

Pentru a realiza acest lucru, adăugăm un script parametru. Acesta este un parametru cu un personaj „^” lider după cum urmează:

^list(order=c(0,1,1),period=12)

Cu această configurație putem crea modelul ARIMA.

Modelul ARIMAModelul ARIMA

Rezultatele pot fi extrase folosind o combinație de Model.Results şi Model.Result Funcții sau prin utilizarea unui script R „RAW”. Precizia modelului poate fi verificată prin intermediul funcției Model.Accuracy(...).

Învelire

În acest post am folosit R în Excel pentru a efectua unele analize de prognoză și serii de timp. Am văzut cum să configurați și să recuperați datele modelului. Pe lângă evaluarea scripturilor R, am folosit și o serie de funcții de înveliș în jurul Prognoză Pachet furnizat de supliment pentru a facilita configurarea și evaluarea modelului.

În ultima parte a seriei mă voi uita să folosesc R în Excel pentru a apela scripturi Python.

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.