Salve ragazzi. Sto facendo un progetto per l'università. Mi sono ritrovato a dover analizzare dei dati e dopo aver chiesto un pochetto a google qualche metodo di regressione mi sono imbattuto in un metodo che, in parte, fa al caso mio. Purtroppo ho però un problema: ho impostato il livello di precisione (riconosciuto come frac nel codice a 0.35 per cercare di ottenere una precisione della curva abbastanza buona). Ora il problema è che vedo un punto di scostamento non indifferenze verso il cambio di pendenza della curva. Qualcuno sa come risolverlo? Mi era venuto in mente di porre una condizione sull'interpolazione, ma non ho idee su come implementarla.
Grazie, di seguito il codice
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.nonparametric.smoothers_lowess import lowess
# Leggi i dati dal file di testo utilizzando pandas
df = pd.read_csv("C://Users//fabio//Desktop//Dati prove trazione//Dati//Gruppo D 3.txt", sep="\t")
df1 = pd.read_csv("C://Users//fabio//Desktop//Dati prove trazione//Dati//Gruppo D 3.txt", sep="\t")
df2 = pd.read_csv("C://Users//fabio//Desktop//Dati prove trazione//Dati//Gruppo D 3.txt", sep="\t")
# Estrai le colonne "load [kN]" e "LVDT [mm]"
load = df["load [kN]"]
lvdt = df["LVDT [mm]"]
# Calcola la regressione LOESS
smoothed = lowess(load, lvdt, frac=0.35)
# Grafico
plt.plot(lvdt, load, 'o', label='Dati originali')
plt.plot(smoothed[:, 0], smoothed[:, 1], label='Regressione LOESS')
plt.xlabel('LVDT [mm]')
plt.ylabel('Load [kN]')
plt.legend()
plt.show()