生成随机游走过程并且计算DF统计量并且画图
时间: 2024-01-31 22:02:05 浏览: 74
首先,我们需要导入需要的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,因此我们不能拒绝原假设,即该序列是非平稳的。
阅读全文