如何画出abs(np.cumsum(np.random.randn(4, 25)))的随机游走?
时间: 2023-12-03 09:04:59 浏览: 184
要画出abs(np.cumsum(np.random.randn(4, 25)))的随机游走,可以按照以下步骤进行操作:
1. 导入所需的库:import numpy as np和import matplotlib.pyplot as plt。
2. 生成随机数:使用np.random.randn(4, 25)生成一个4行25列的随机数组。
3. 计算累积和:使用np.cumsum()函数计算数组的累积和,即得到随机游走的路径。
4. 取绝对值:使用np.abs()函数取累积和的绝对值,确保绘制的图形都是正数。
5. 绘制图形:使用plt.plot()函数绘制随机游走的路径。
以下是完整的代码示例:
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数
random_walk = np.random.randn(4, 25)
# 计算累积和并取绝对值
random_walk = np.abs(np.cumsum(random_walk, axis=1))
# 绘制图形
plt.plot(random_walk.T)
plt.xlabel('Steps')
plt.ylabel('Absolute Value of Cumulative Sum')
plt.title('Random Walk')
plt.show()
相关问题
生成随机游走过程并且计算DF统计量并且画图
首先,我们需要导入需要的Python库:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.stattools import adfuller
```
接下来,我们可以生成随机游走过程:
```python
# 生成1000个随机游走数据点
np.random.seed(1)
data = np.cumsum(np.random.randn(1000))
```
接下来,我们可以计算DF统计量:
```python
# 计算DF统计量
result = adfuller(data)
print('ADF Statistic:', result[0])
print('p-value:', result[1])
```
最后,我们可以画出随机游走过程的图像:
```python
# 画出随机游走过程的图像
plt.plot(data)
plt.title('Random Walk')
plt.xlabel('Time')
plt.ylabel('Value')
plt.show()
```
完整代码如下:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.stattools import adfuller
# 生成1000个随机游走数据点
np.random.seed(1)
data = np.cumsum(np.random.randn(1000))
# 计算DF统计量
result = adfuller(data)
print('ADF Statistic:', result[0])
print('p-value:', result[1])
# 画出随机游走过程的图像
plt.plot(data)
plt.title('Random Walk')
plt.xlabel('Time')
plt.ylabel('Value')
plt.show()
```
运行以上代码,我们可以得到如下结果:
```
ADF Statistic: -0.379639624391
p-value: 0.914771088559
```
同时,我们可以看到如下的随机游走过程图像:
![image.png](attachment:image.png)
从图像可以看出,这是一个随机游走过程,没有一个明显的趋势。此外,由于DF统计量的p值远大于0.05,因此我们不能拒绝原假设,即该序列是非平稳的。
阅读全文