-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMarkov_clima
More file actions
45 lines (40 loc) · 1.65 KB
/
Markov_clima
File metadata and controls
45 lines (40 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#Probabilidades de transición (ejemplo)
# Crear una matriz de transición
transition_matrix <- matrix(c(0.3, 0.4, 0.3,
0.2, 0.8, 0.0,
0.6, 0.2, 0.2),
nrow = 3, byrow = TRUE)
# Dar nombres a las filas y columnas para mejor legibilidad
rownames(transition_matrix) <- colnames(transition_matrix) <- c("soleado", "nublado", "lluvioso")
# Mostrar la matriz de transición
print(transition_matrix)
# Verificar si cada fila suma 1 (propiedad de probabilidad de transición)
rowSums(transition_matrix)
# Crear una matriz de transición
transition_matrix <- matrix(c(0.3, 0.4, 0.3,
0.2, 0.8, 0.0,
0.6, 0.2, 0.2),
nrow = 3, byrow = TRUE)
# Dar nombres a las filas y columnas para mejor legibilidad
rownames(transition_matrix) <- colnames(transition_matrix) <- c("soleado", "nublado", "lluvioso")
# Mostrar la matriz de transición
print(transition_matrix)
# Verificar si cada fila suma 1 (propiedad de probabilidad de transición)
rowSums(transition_matrix)
# Estado inicial (por ejemplo, empezando en Estado1)
initial_state <- c(0, 1, 0)
# Número de pasos en el futuro
steps <- 2
# Función para pronosticar estados futuros
forecast_markov <- function(initial_state, transition_matrix, steps) {
state <- initial_state
for (i in 1:steps) {
state <- state %*% transition_matrix
}
return(state)
}
future_state <- forecast_markov(initial_state, transition_matrix, steps)
print(future_state)
# Realizar el pronóstico
future_state <- forecast_markov(initial_state, transition_matrix, steps)
print(future_state)