Ne changez pas le sens du contenu original, affinez le contenu, réécrivez le contenu et ne continuez pas à écrire. "La régression quantile répond à ce besoin, en fournissant des intervalles de prédiction avec des chances quantifiées. Il s'agit d'une technique statistique utilisée pour modéliser la relation entre une variable prédictive et une variable de réponse, en particulier lorsque la distribution conditionnelle de la variable de réponse présente un intérêt quand. Contrairement à la régression traditionnelle méthodes, la régression quantile se concentre sur l'estimation de l'ampleur conditionnelle de la variable de réponse plutôt que de la moyenne conditionnelle »
Figure (A) : Régression quantile
La régression quantile est une méthode de modélisation qui estime la. relation linéaire entre un ensemble de régresseurs X et les quantiles des variables expliquées Y.
Le modèle de régression existant est en fait une méthode d'étude de la relation entre la variable expliquée et la variable explicative. Ils se concentrent sur la relation entre les variables explicatives et les variables expliquées et sur leur distribution d'erreurs. La régression médiane et la régression quantile sont deux modèles de régression courants. Ils ont été proposés pour la première fois selon Koenker et Bassett (1978).
Le calcul de l'estimateur de régression des moindres carrés ordinaires est basé sur la minimisation de la somme des carrés résiduels. Le calcul de l'estimateur de régression quantile repose également sur la minimisation du résidu en valeur absolue sous une forme symétrique. Parmi eux, l'opération de régression médiane est l'estimateur des moindres écarts absolus (LAD, estimateur des moindres écarts absolus).
Expliquez l'image complète de la distribution conditionnelle de la variable expliquée. Elle analyse non seulement l'espérance conditionnelle (moyenne) de la variable expliquée, mais analyse également comment la variable explicative affecte la médiane et le quantile de la variable expliquée. variable expliquée. Nombre, etc. Les estimations des coefficients de régression aux différents quantiles sont souvent différentes, c'est-à-dire que les variables explicatives ont des effets différents sur différents quantiles. Par conséquent, les différents effets des différents quantiles des variables explicatives auront des effets différents sur les variables expliquées.
Par rapport à la méthode de moindre multiplication, la méthode d'estimation de la régression médiane est plus robuste aux valeurs aberrantes, et la régression quantile ne nécessite pas d'hypothèses fortes sur le terme d'erreur, donc pour les situations non normales, la distribution d'état et le coefficient de régression médian sont plus sains. Dans le même temps, l’estimation quantitative du système de régression quantile devient plus robuste.
Quels sont les avantages de la régression quantile par rapport à la simulation Monte Carlo ? Premièrement, la régression quantile estime directement l’ampleur conditionnelle de la variable de réponse compte tenu des prédicteurs. Cela signifie que, plutôt que de produire un grand nombre de résultats possibles comme une simulation de Monte Carlo, elle fournit une estimation d'une ampleur spécifique de la distribution de la variable de réponse. Ceci est particulièrement utile pour comprendre différents niveaux d’incertitude des prévisions, tels que les quintiles, les quartiles ou les magnitudes extrêmes. Deuxièmement, la régression quantile fournit une méthode d'estimation de l'incertitude de prédiction basée sur un modèle qui utilise des données d'observation pour estimer la relation entre les variables et faire des prédictions basées sur cette relation. En revanche, la simulation Monte Carlo repose sur la spécification de distributions de probabilité pour les variables d'entrée et la génération de résultats basés sur un échantillonnage aléatoire.
NeuralProphet propose deux techniques statistiques : (1) la régression quantile et (2) la régression quantile conforme. La technique de prédiction quantile conforme ajoute un processus d'étalonnage pour effectuer une régression quantile. Dans cet article, nous utiliserons le module de régression quantile de Neural Prophet pour faire des prédictions de régression quantile. Ce module ajoute un processus d'étalonnage pour garantir que les résultats de prédiction sont cohérents avec la distribution des données observées. Nous utiliserons le module de régression quantile de Neural Prophet dans ce chapitre.
Installez NeuralProphet.
!pip install neuralprophet!pip uninstall numpy!pip install git+https://github.com/ourownstory/neural_prophet.git numpy==1.23.5
Importez les bibliothèques requises.
%matplotlib inlinefrom matplotlib import pyplot as pltimport pandas as pdimport numpy as npimport loggingimport warningslogging.getLogger('prophet').setLevel(logging.ERROR)warnings.filterwarnings("ignore")
Données de vélo partagées. L'ensemble de données est un ensemble de données multivarié qui contient la demande de location quotidienne ainsi que d'autres champs météorologiques tels que la température ou la vitesse du vent.
data = pd.read_csv('/bike_sharing_daily.csv')data.tail()
Image (B) : Vélos partagés
Tracez le nombre de vélos partagés. Nous avons observé que la demande a augmenté la deuxième année et a suivi un modèle saisonnier.
# convert string to datetime64data["ds"] = pd.to_datetime(data["dteday"])# create line plot of sales dataplt.plot(data['ds'], data["cnt"])plt.xlabel("date")plt.ylabel("Count")plt.show()
Image (C) : Demande quotidienne de location de vélos
Effectuez la préparation des données la plus élémentaire pour la modélisation. NeuralProphet nécessite les noms de colonnes ds et y, qui sont les mêmes que Prophet.
df = data[['ds','cnt']]df.columns = ['ds','y']
直接在 NeuralProphet 中构建分位数回归。假设我们需要第 5、10、50、90 和 95 个量级的值。我们指定 quantile_list = [0.05,0.1,0.5,0.9,0.95],并打开参数 quantiles = quantile_list。
from neuralprophet import NeuralProphet, set_log_levelquantile_list=[0.05,0.1,0.5,0.9,0.95 ]# Model and predictionm = NeuralProphet(quantiles=quantile_list,yearly_seasnotallow=True,weekly_seasnotallow=True,daily_seasnotallow=False)m = m.add_country_holidays("US")m.set_plotting_backend("matplotlib")# Use matplotlibdf_train, df_test = m.split_df(df, valid_p=0.2)metrics = m.fit(df_train, validation_df=df_test, progress="bar")metrics.tail()
我们将使用 .make_future_dataframe()为预测创建新数据帧,NeuralProphet 是基于 Prophet 的。参数 n_historic_predictions 为 100,只包含过去的 100 个数据点。如果设置为 True,则包括整个历史数据。我们设置 period=50 来预测未来 50 个数据点。
future = m.make_future_dataframe(df, periods=50, n_historic_predictinotallow=100) #, n_historic_predictinotallow=1)# Perform prediction with the trained modelsforecast = m.predict(df=future)forecast.tail(60)
预测结果存储在数据框架 predict 中。
图 (D):预测
上述数据框架包含了绘制地图所需的所有数据元素。
m.plot(forecast, plotting_backend="plotly-static"#plotting_backend = "matplotlib")
预测区间是由分位数值提供的!
图 (E):分位数预测
预测区间和置信区间在流行趋势中很有帮助,因为它们可以量化不确定性。它们的目标、计算方法和应用是不同的。下面我将用回归来解释两者的区别。在图(F)中,我在左边画出了线性回归,在右边画出了分位数回归。
图(F):置信区间与预测区间的区别
首先,它们的目标不同:
其次,它们的计算方法不同:
第三,它们的应用不同:
本文介绍了分位数回归预测区间的概念,以及如何利用 NeuralProphet 生成预测区间。我们还强调了预测区间和置信区间之间的差异,这在商业应用中经常引起混淆。后面将继续探讨另一项重要的技术,即复合分位数回归(CQR),用于预测不确定性。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!