Solo intenta ejecutar considerando que tienes la columna RV en tu conjunto de datos
Para HAR-RV:
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
# Simular algunos datos para df['RV']
np.random.seed(0)
df = pd.DataFrame({'RV': np.random.rand(100)})
# Calcular características de RV con retardo
df['RV_lag_d'] = df['RV'].shift(1)
df['RV_lag_w'] = df['RV'].rolling(window=5).mean().shift(1)
df['RV_lag_m'] = df['RV'].rolling(window=22).mean().shift(1)
# Eliminar filas NaN
df.dropna(inplace=True)
# Preparar datos
X = df[['RV_lag_d', 'RV_lag_w', 'RV_lag_m']]
y = df['RV']
# Ajustar modelo HAR-RV
modelo = LinearRegression()
modelo.fit(X, y)
# Para ML:
from sklearn.ensemble import RandomForestRegressor
# Ajustar modelo de Bosque Aleatorio
modelo_rf = RandomForestRegressor(n_estimators=100)
modelo_rf.fit(X, y)