【问题标题】:Python: How can I stop my function values from changing after my first call (time series)Python:如何在第一次调用后阻止函数值发生变化(时间序列)
【发布时间】:2018-02-28 22:13:37
【问题描述】:

我有:

np.random.seed(123)
def v_t(var_v, T):
    v_t_ = np.zeros([T,1])
    v_t_[1:T] = (var_v ** 0.5) * np.random.randn(len(v_t_) - 1, 1)
    return v_t_

def s_t(rho, T):
    v_t_ = v_t(var_v, T)
    s_t_ = np.zeros([T,1])
    s_t_[0] = 0
    for t in range(1,T):
        s_t_[t] = rho *s_t_[t-1] + v_t_[t]
    return s_t_

但是每次我调用其中一个值时,即

s_t(rho, T)       "or"         v_t(var_v, T)

显示正确的值。但紧接着,当我调用另一个值时,值是错误的。 (可能是由于一些时间序列效应。)在我清除命名空间后,当我以镜像顺序调用函数时,情况也是如此。如何在不重置命名空间的情况下为每个调用显示正确的值???

很高兴收到您的来信!干杯,托比亚斯

【问题讨论】:

  • 不要将变量命名为与函数相同的名称。
  • 我的代码中有示例吗?
  • s_tv_t
  • 也许是 s_t_ = = np.zeros([T,1]) 而不是 s_t ?
  • 好的,我试试,谢谢!

标签: python function time-series call


【解决方案1】:

我认为问题与 np.random.randn(len(v_t_) - 1, 1)...

有关

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    相关资源
    最近更新 更多