Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 给定序列的均值和方差,如何生成具有确定性随机游动和漂移的时间序列数据?_Python_Time Series_Random Walk - Fatal编程技术网

Python 给定序列的均值和方差,如何生成具有确定性随机游动和漂移的时间序列数据?

Python 给定序列的均值和方差,如何生成具有确定性随机游动和漂移的时间序列数据?,python,time-series,random-walk,Python,Time Series,Random Walk,我得到了均值和方差。我需要从给定的变量中产生一个确定性随机游动。以下是时间序列数据的预期属性: 平均数:27.57020098 中位数:27.815 标准偏差:5.106888439 差异:26.08030952 最高:43.92 最低:0 范围:43.92 我试过以下方法 steps = np.random.normal(loc=0, scale=5.034, size=1000) #std =5.304 steps[0]=0 P = 27.50 + np.cumsum

我得到了均值和方差。我需要从给定的变量中产生一个确定性随机游动。以下是时间序列数据的预期属性:

  • 平均数:27.57020098
  • 中位数:27.815
  • 标准偏差:5.106888439
  • 差异:26.08030952
  • 最高:43.92
  • 最低:0
  • 范围:43.92
  • 我试过以下方法

        steps = np.random.normal(loc=0, scale=5.034, size=1000) #std =5.304
        steps[0]=0
        P = 27.50 + np.cumsum(steps) #mean =27.5
        plt.plot(P)
        plt.title("Simulated Random Walk")
        plt.show()
    
    产生,


    让我们考虑可能值的个数N。您的函数返回一个自然数,0使用标准库,您可以每次使用相同的值对随机函数进行种子设定,从而使序列具有确定性。我举了一个例子来说明这一原则

    import random
    
    seed = 'pseudo-random'          # Can be anything
    random.seed(a=seed, version=2)  # Use the same seed every time
    
    float_list = []    # List to contain a small sample of  values
    mean =  27.57020098
    dev = 5.106888439
    
    for x in range(20):
        value = random.gauss(mean, dev)
        if value > 43.92: value = 43.92 # Limit max value
        if value < 0: value = 0         # Limit min value
        float_list.append('{:.3f}'.format(value))
    
    print(float_list)
    
    随机导入
    seed=‘伪随机’可以是任何东西
    随机种子(a=种子,版本=2)#每次使用相同的种子
    float_list=[]#list包含一个小样本值
    平均数=27.57020098
    dev=5.106888439
    对于范围(20)内的x:
    值=随机高斯(平均值,偏差)
    如果值>43.92:值=43.92#限制最大值
    如果值<0:value=0#限制最小值
    float_list.append(“{.3f}.”格式(值))
    打印(浮动列表)
    

    我不知道np是否允许这种每次使用相同种子的方式

    你试过什么?这不应该是一项复杂的任务,发布您的代码以及您在哪里挣扎,我们将提供帮助:)您如何能够进行确定性随机行走?确定性和随机性是对立的,不是吗o@figbeam确定性随机性是一种功能,如果您知道输入是什么,您可以推断输出将是什么,但对用户来说似乎是随机的。例如,通过返回函数被调用时的时间戳的毫秒值,可以将数字从1随机化到1000。如果你知道算法和输入,你会立即知道输出,但是如果你是一个不知道算法的临时用户,那么结果对你来说是随机的。非常感谢你的回复。是的,我知道这些是相反的,但是,我必须用给定的参数生成假时间序列数据。我也尝试过几何布朗运动和布朗运动,但无法得到确定的结果。@Lajos Arpad:Ahhh…,我明白了。在我的领域,我们称之为“伪随机”。我编写了代码,但无法获得确定性值。这些值必须在给定范围内(在问题中,介于0和43.92之间)。但是,这不是随机游动,因为这些值不依赖于以前的值。啊,是的;这就是为什么我称之为“原则的说明”。谷歌为如何编码一个随机游走,然后饲料的程序随机值根据上述原则。哦!知道了。这就像剪切值一样。