ValueError:在自回归模型中设置带有序列的数组元素,python

问题描述 投票:0回答:1

我正在阅读有关使用 phython 进行时间序列预测的书。 当我在自回归模型中输入Python代码时,出现了一个问题。

Python脚本如下,

def generate_timeseries(signal, noise=None):
    time_sampler = ts.TimeSampler(stop_time=20)
    regular_time_samples = time_sampler.sample_regular_time(num_points=100)
    timeseries = ts.TimeSeries(signal_generator=signal, noise_generator=noise)
    samples, signals, errors = timeseries.sample(regular_time_samples)
    return samples, regular_time_samples, signals, errors
signal = ts.signals.AutoRegressive(ar_param=[1.5, -0.75])
samples, regular_time_samples, signals, errors = generate_timeseries(signal=signal)

出现如下错误消息。

ValueError:用序列设置数组元素。请求的数组在 1 维之后具有不均匀的形状。检测到的形状为 (2,) + 不均匀部分。

请给我任何建议来解决这个问题。

谢谢你。

我已阅读此站点中的解决方案或与此错误相关的任何博客,但找不到确切的解决方案。

python valueerror
1个回答
0
投票

该错误表明您应该使用序列设置数组元素。不要分配

ar_param=[1.5, -0.75]
,而是尝试使用
ar_param=[1.5 -0.75]
,它应该可以工作。这是完整的代码:

import timesynth as ts

# Initializing TimeSampler
time_sampler = ts.TimeSampler(stop_time=20)

# Sampling regular time samples
regular_time_samples = time_sampler.sample_regular_time(num_points=100)

# Initializing AR model
ar_p = ts.signals.AutoRegressive(ar_param=[1.5 -0.75])
ar_p_series = ts.TimeSeries(signal_generator=ar_p)
samples = ar_p_series.sample(regular_time_samples)

plt.plot(regular_time_samples, samples[0])

© www.soinside.com 2019 - 2024. All rights reserved.