Код: Выделить всё
import numpy as np
n_states = 3
states = np.arange(n_states)
T = np.array([
[0.5, 0.5, 0],
[0.5, 0, 0.5],
[0, 0, 1]
])
Код: Выделить всё
n_sims = 100
n_steps = 10
paths = np.zeros((n_sims, n_steps), dtype=int)
Моя попытка: посмотрите следующим образом
Код: Выделить всё
rng = np.random.default_rng(seed=123)
for s in range(1, n_steps+1):
paths[:,s] = rng.choice(
a=n_states,
size=n_sim,
p=T[paths[:,s-1]]
)
ValueError: p должно быть одномерным
Как мне это преодолеть? Если возможно, я хотел бы предотвратить циклы for и векторизовать код.
Подробнее здесь: https://stackoverflow.com/questions/790 ... ous-column