两个时间序列的水平位移,对两者互信息值的影响
两个时间序列(时序信号)的水平位移(重叠程度),对两者互信息值的影响
1、x和y完全重叠;
MIStimulation(xspike=100, yspike=100)
2、x和y相差1
MIStimulation(xspike=100, yspike=101)
3、x和y相差10
MIStimulation(xspike=100, yspike=110)
3、x和y相差100
MIStimulation(xspike=100, yspike=200)
结论:信号在时序上的重叠程度会影响MI。为什么会出现这种结果呢,因为计算MI时,会计算两者的联合概率分布,当两个信号不重叠的时候,联合概率分布基本上处处为0,所以MI也基本上为0;
def MIStimulation(xspike=500, yspike=500):
x = np.zeros(1000)
y = np.zeros(1000)
ratio = 0.94
x[xspike] = 2
for i in range(xspike+1,xspike+200):
x[i] = x[i-1] * ratio
# print(x[i])
y[yspike] = 2
for i in range(yspike+1,yspike+200):
y[i] = y[i-1] * ratio
# print(y[i])
mi = calMI(x, y)
fig, ax = plt.subplots()
ax.plot(x)
ax.plot(y)
ax.set_title('xspike is {}, yspike is {}. MI between x and y is {:.2f}'.format(xspike, yspike, mi))
fig.show()
print()
标签:
经验分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?