Multi-Variate Time Series Forecasting on Variable Subsets(KDD2022)

本文探讨了在存在长期数据丢失或资源领域切换时,MTSF模型的鲁棒性问题。通过实验展示了现有方法在变子集预测(VSF)中的性能下降,提出了一种非参数包装技术,能有效恢复模型性能,即使仅15%变量可用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文在多变量时间序列预测(MTSF)领域制定了一种新的推理任务,称为变子集预测(VSF)在推理过程中只有一小部分变量可用。在推理过程中,由于长期的数据丢失,变量是缺失的。传感器故障)或高→低资源域在训练/测试之间切换。据我们所知,在存在此类故障时,MTSF模型的鲁棒性还没有在文献中研究过。通过广泛的评估,本文首先表明,最先进方法的性能在VSF设置中显著下降。本文提出一种非参数的包装技术,可应用于任何现有的预测模型。通过对4个数据集和5个预测模型的系统实验,表明所提出技术能够恢复模型近95%的性能,即使只有15%的原始变量存在。

 Variables are absent during inference because of longterm data loss (eg. sensor failures) or high→low-resource domain shift between train / test. 

编写一个 MATLAB 代码来实现 (3+1)-variate Weibull 分布涉及多个步骤,包括定义分布函数、生成随机样本、估计参数等。以下是一个示例代码,展示了如何实现这些功能: ### 定义 (3+1)-variate Weibull 分布 假设我们有一个 (3+1)-variate Weibull 分布,其中每个变量 \(X\) 和 \(Y_1, Y_2, Y_3\) 都是 Weibull 分布,并且它们之间的关系如下: 1. \(X \sim \text{Weibull}(\lambda_X, k_X)\) 2. \(Y_1 \mid X = x \sim \text{Weibull}(\lambda_{Y1}, k_{Y1})\) 3. \(Y_2 \mid X = x, Y_1 = y_1 \sim \text{Weibull}(\lambda_{Y2}(x, y_1), k_{Y2})\) 4. \(Y_3 \mid X = x, Y_1 = y_1, Y_2 = y_2 \sim \text{Weibull}(\lambda_{Y3}(x, y_1, y_2), k_{Y3})\) ### MATLAB 代码 ```matlab % 参数设置 lambda_X = 1.0; k_X = 2.0; lambda_Y1 = 1.5; k_Y1 = 2.5; lambda_Y2 = @(x, y1) x + y1; k_Y2 = 3.0; lambda_Y3 = @(x, y1, y2) x + y1 + y2; k_Y3 = 3.5; % 生成随机样本 n_samples = 1000; X = wblrnd(lambda_X, k_X, [1, n_samples]); Y1 = zeros(1, n_samples); Y2 = zeros(1, n_samples); Y3 = zeros(1, n_samples); for i = 1:n_samples Y1(i) = wblrnd(lambda_Y1, k_Y1); Y2(i) = wblrnd(lambda_Y2(X(i), Y1(i)), k_Y2); Y3(i) = wblrnd(lambda_Y3(X(i), Y1(i), Y2(i)), k_Y3); end % 将数据组合成矩阵 data = [X; Y1; Y2; Y3]; % 绘制直方图 figure; subplot(2, 2, 1); histogram(X, 'Normalization', 'probability'); title('Histogram of X'); subplot(2, 2, 2); histogram(Y1, 'Normalization', 'probability'); title('Histogram of Y1'); subplot(2, 2, 3); histogram(Y2, 'Normalization', 'probability'); title('Histogram of Y2'); subplot(2, 2, 4); histogram(Y3, 'Normalization', 'probability'); title('Histogram of Y3'); % 最大似然估计 options = optimset('Display', 'off'); params = mle(data(:), 'distribution', 'weibull', 'Start', [1, 1], 'Options', options); disp(['Estimated parameters: lambda = ', num2str(params(1)), ', k = ', num2str(params(2))]); ``` ### 代码说明 1. **参数设置**:定义了各个 Weibull 分布的参数。 2. **生成随机样本**:使用 `wblrnd` 函数生成随机样本。对于条件分布,我们在循环中逐个生成样本。 3. **绘制直方图**:使用 `histogram` 函数绘制每个变量的直方图。 4. **最大似然估计**:使用 `mle` 函数进行最大似然估计,得到参数的估计值。 ### 注意事项 1. **条件分布**:在生成条件分布时,需要确保传递给 `wblrnd` 函数的参数是有效的。 2. **性能优化**:对于大规模数据集,可以考虑使用并行计算或更高效的算法来提高性能。 3. **模型验证**:可以通过拟合优度检验(如 AIC 或 BIC)来评估模型的适用性。 这个示例代码提供了一个基本框架,可以根据具体需求进行调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值