繁体   English   中英

生成过渡矩阵的算法

[英]Algorithm to Generate Transition Matrix

过渡概率为

在此处输入图片说明

例如,对于一种产品,当当前价格为高时,下一个周期为高价的概率为0.3,为低价为0.7。

我的问题是,对于两个独立的产品,过渡概率是多少?

我正在寻找一些下表所示的结果:

在此处输入图片说明

例如,假设当前价格水平对于产品1为H,对于产品2为H,则1的价格为L,2的价格为H的概率为0.7 * 0.3 = 0.21。

我正在使用的当前代码如下:

from sklearn.utils.extmath import cartesian
pr = np.array([[0.3,0.7],[0.6,0.4]])
P = np.zeros((4,4))
count = 0
for i in range(2):
    for j in range(2):
        P[count] = cartesian((pr[i],pr[j])).prod(1)
        count += 1
P

它适用于两种产品,但是对于更多产品,这将非常令人困惑。 例如,对于四个独立的产品,转换矩阵为16 * 16:对于每个当前状态(例如HHHH),有16种可能的未来状态,例如(HHHH,HHHL,HHLH,HHLL,HLHH等)。

有一种简单明了的方法可以做到这一点吗?

如果我正确的话,您正在生成一个简单的markov TM。

现在,您要查看给定另外两个产品的情况下,一种产品的转移概率是多少? 我对么? 好了,那么您将再次从数据中学习,但是这一次,请查看每对数据对的出现并将它们视为n元语法。

您的矩阵确实会变得很大,但这不会立即造成问题。

如果您想回顾很多时间段,则可能需要考虑另一种可以更好地处理时间序列的技术。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM