În această postare, vom învăța cum să simulăm scenarii predictive folosind R, Python și Excel, folosind Techtonique API, disponibil la https://www.techtonique.net. Fișierele csv de intrare utilizate în exemple sunt disponibile în Techtonique/seturi de date.
The Versiunea Excel poate fi găsit în fișierul Excel https://github.com/thierrymoudiki/techtonique-excel-server/VBA-Web.xlsm (în „Sheet3”). În culise, folosesc Visual Basic pentru aplicații (VBA) pentru a trimite solicitări către API. Tot ce trebuie să faceți pentru a-l vedea în acțiune este să obțineți un jeton și să apăsați un buton. Nu uitați să activați macrocomenzi în Excel atunci când vi se solicită acest lucru (acest lucru este sigur).
Iată Versiunea Pythoncare se bazează pe forecastingapi
Pachetul Python:
import forecastingapi as fapi import numpy as np import pandas as pd from time import time import matplotlib.pyplot as plt import ast # examples in https://github.com/Techtonique/datasets/tree/main/time_series path_to_file="/Users/t/Documents/datasets/time_series/univariate/AirPassengers.csv" start = time() res_get_forecast = fapi.get_forecast(path_to_file, base_model="RidgeCV", n_hidden_features=5, lags=25, type_pi='scp2-kde', replications=10, h=5) print(f"Elapsed: {time() - start} seconds n") print(res_get_forecast) # Convert lists to numpy arrays for easier handling mean = np.asarray(ast.literal_eval(res_get_forecast('mean'))).ravel() lower = np.asarray(ast.literal_eval(res_get_forecast('lower'))).ravel() upper = np.asarray(ast.literal_eval(res_get_forecast('upper'))).ravel() sims = np.asarray(ast.literal_eval(res_get_forecast('sims'))) # Plotting plt.figure(figsize=(10, 6)) # Plot the simulated lines for sim in sims: plt.plot(sim, color="gray", linestyle="--", alpha=0.6, label="Simulations" if 'Simulations' not in plt.gca().get_legend_handles_labels()(1) else "") # Plot the mean line plt.plot(mean, color="blue", linewidth=2, label="Mean") # Plot the lower and upper bounds as shaded areas plt.fill_between(range(len(mean)), lower, upper, color="lightblue", alpha=0.2, label="Confidence Interval") # Labels and title plt.xlabel('Time Point') plt.ylabel('Value') plt.title('Spaghetti Plot of Mean, Bounds, and Simulated Paths') plt.legend() plt.show()
Pentru a termina, iată Versiunea Rcare se bazează pe forecastingapi
Pachetul R:
path_to_file <- "/Users/t/Documents/datasets/time_series/univariate/AirPassengers.csv" forecastingapi::get_forecast(path_to_file) forecastingapi::get_forecast(path_to_file, type_pi='scp2-kde', h=5L, replications=10L) sims <- forecastingapi::get_forecast(path_to_file, type_pi="scp2-kde", replications=10L)$sims matplot(sims, type="l", lwd=2)
Ca reamintire:
Acum puteți obține informații din datele dvs. tabulare prin chat cu ele pe techtonique.net. Încă nu se complotează (în curând), dar puteți pune deja întrebări precum:
- Care este media coloanei
A
? - Arată-mi primele 5 rânduri de date
- Arată-mi 5 rânduri aleatorii de date
- Care este suma coloanei
B
? - Care este media coloanei
A
grupate pe coloanăB
? - …
De asemenea, puteți rula codul R sau Python interactiv în browser, pe www.techtonique.net/consoles.
Aplicația web Techtonique este un instrument conceput pentru a vă ajuta să luați decizii informate, bazate pe date, folosind matematică, statistică, învățarea automată și vizualizarea datelor. Începând cu septembrie 2024, instrumentul se află în faza beta (supus blocărilor) și va rămâne complet gratuit de utilizat până pe 24 decembrie 2024. După înregistrare, veți primi un e-mail. VERIFICAȚI SPAM-urile. Câțiva utilizatori selectați vor fi contactați direct pentru feedback, dar îl puteți trimite și pe al dvs.
Instrumentul este construit pe Techtonique și puternicul ecosistem Python. În acest moment, se concentrează pe seturi de date mici, cu o limită de 1MB per intrare. Sunt disponibile atât interfețele web pe care se poate face clic, cât și interfețele de programare a aplicațiilor (API, vezi mai jos).
În prezent, funcționalitățile disponibile includ:
- Vizualizarea datelor. Exemplu: Ce variabile sunt corelate și în ce măsură?
- Prognoza probabilistica. Exemplu: Care sunt vânzările mele estimate pentru anul viitor, inclusiv limitele inferioare și superioare?
- Învățare automată (regresie sau clasificare) pentru seturi de date tabelare. Exemplu: Care este intervalul de preț al unui apartament în funcție de vechimea și numărul de camere?
- Analiza supraviețuirii, analizând timp până la eveniment date. Exemplu: Cât timp poate trăi un pacient după ce a fost diagnosticat cu limfom Hodgkin (cancer) și cât de precisă este această predicție?
- Rezervarea pe baza datelor privind daunele de asigurare. Exemplu: Cât de mult ar trebui să pun astăzi deoparte pentru a acoperi eventualele accidente care ar putea avea loc în următorii câțiva ani?
După cum am menționat mai devreme, acest instrument include atât interfețe web pe care se poate face clic, cât și interfețe de programare a aplicațiilor (API).
API-urile vă permit să trimiteți solicitări de pe computer pentru a efectua anumite sarcini pe date resurse. API-urile sunt independente de limbajul de programare (suportă Python, R, JavaScript etc.), relativ rapide și nu necesită instalare suplimentară de pachet înainte de utilizare. Aceasta înseamnă că puteți continua să utilizați limbajul de programare preferat sau codul/instrumentul moștenit, atâta timp cât este posibil vorbi la internet. Ce sunt cereri şi resurse?
În Techtonique/API-uri, resurse sunt Statistică/Învățare automată (ML) predicții sau prognoze model.
Un tip comun de solicitare ar putea fi obținerea de vânzări, vreme sau venituri prognozele pentru următoarele cinci săptămâni. În general, solicitările de sarcini sunt scurte, implicând de obicei a verb si a calea URL — ceea ce duce la a răspuns.
Mai jos este un exemplu. În acest caz, resursă vrem să gestionăm este o listă de utilizatorii.
– Tip cerere (verb): OBŢINE
- Calea URL:
http://users
| Punct final: utilizatori | Răspuns API: Afișează o listă cu toți utilizatorii - Calea URL:
http://users/:id
| Punct final: utilizatori/:id | Răspuns API: Afișează un anumit utilizator
– Tip cerere (verb): POST
- Calea URL:
http://users
| Punct final: utilizatori | Răspuns API: Creează un utilizator nou
– Tip cerere (verb): PUNE
- Calea URL:
http://users/:id
| Punct final: utilizatori/:id | Răspuns API: Actualizează un anumit utilizator
– Tip cerere (verb): ŞTERGE
- Calea URL:
http://users/:id
| Punct final: utilizatori/:id | Răspuns API: Șterge un anumit utilizator
În Techtonique/API-uri, un punct final de resurse tipic ar fi /MLmodel
. Deoarece resursele sunt predefinite și nu trebuie actualizate (PUT) sau șterse (DELETE), fiecare cerere va fi o solicitare POST la a /MLmodel
cu parametri suplimentari pentru modelul ML.
După ce ați citit acest lucru, puteți trece la pagina /howtoapi.