显示对数似然的 Baum-Welch 算法:NaN BIC 标准:NaN AIC 标准:NaN

Baum-Welch algorithm showing Log-likelihood: NaN BIC criterium: NaN AIC criterium: NaN

我正在努力使 Bauch-Welch 算法收敛,但由于对数似然、AIC、BIC 显示 NaN 而无法做到这一点。我的数据只包含一列。请在这方面帮助我,我将非常感谢你。详细代码如下

library(RHmm)
obs<-read.table("C:\Users\Administrator\Desktop\SPI-TESTS.csv",header=T,sep=",")
hm_model <- HMMFit(obs=obs, dis="MIXTURE", nStates=11, nMixt=4, control=list(iter=2000))
print (hm_model)
Call:
----
HMMFit(obs = obs, dis = "MIXTURE", nStates = 11, nMixt = 4, control = list(iter = 2000))

Model:
------
11 states HMM with mixture of 4 gaussian distribution

Baum-Welch algorithm status:
----------------------------

NO CONVERGENCE AFTER 265 ITERATIONS

PROBLEM IN BAUM-WELCH'S ALGORITHM

Last Estimation:
----------------

Initial probabilities:
  Pi 1 Pi 2 Pi 3 Pi 4 Pi 5 Pi 6 Pi 7 Pi 8          Pi 9        Pi 10 Pi 11
     0    0    0    0    0    0    0    0 3.779559e-232 2.509294e-79     1

Transition matrix:
              State 1      State 2      State 3      State 4      State 5      State 6      State 7      State 8      State 9     State 10     State 11
State 1  1.158892e-12 5.513564e-01 1.406934e-01 2.653148e-01 2.769269e-02 1.553028e-37 1.494273e-02 9.800663e-13 1.507891e-49 4.715263e-34 4.017981e-18
State 2  2.654186e-02 4.087015e-23 3.204037e-10 2.212773e-01 5.021474e-02 4.005844e-20 4.165265e-12 5.073141e-01 1.946520e-01 1.632596e-32 1.113244e-71
State 3  3.241748e-10 1.016694e-40 3.788610e-02 3.320507e-19 5.677861e-39 4.381774e-01 3.887688e-25 6.912725e-19 1.182014e-45 1.517400e-35 5.239365e-01
State 4  5.644328e-17 3.149625e-51 1.875990e-37 7.768767e-02 9.337121e-02 3.695106e-02 4.546543e-31 3.693171e-01 1.411264e-56 4.226730e-01 2.787318e-68
State 5  2.703254e-17 1.232838e-22 3.593962e-45 6.150321e-02 3.976687e-29 2.572677e-24 9.384968e-01 7.366599e-09 2.384907e-33 5.458220e-27 1.044629e-10
State 6  1.927068e-23 1.142987e-31 6.133354e-11 4.227546e-37 6.058461e-19 3.366786e-01 3.878805e-25 1.295066e-31 1.298184e-25 6.633214e-01 3.737511e-35
State 7  8.304118e-01 3.099592e-17 1.201420e-01 3.844308e-48 5.197072e-22 1.869553e-22 4.401821e-33 4.944619e-02 8.966040e-38 7.440181e-17 2.103199e-77
State 8  2.608467e-23 2.128828e-01 3.623140e-01 6.605205e-02 4.193308e-26 7.099826e-02 8.209803e-15 1.495140e-26 2.877529e-01 2.419725e-31 6.329163e-25
State 9  6.321264e-18 1.020369e-21 2.233158e-97 1.150197e-20 3.578052e-17 1.140077e-56 9.255432e-01 3.718692e-23 8.778677e-69 1.698017e-74 7.445679e-02
State 10 1.166198e-35 2.422477e-17 2.629801e-33 6.517930e-16 4.811069e-01 9.681698e-07 3.583564e-17 6.114747e-26 1.577586e-01 1.619016e-27 3.611335e-01
State 11 1.476885e-01 5.291609e-44 4.304542e-02 5.421176e-48 2.279369e-01 4.006380e-21 1.154627e-20 1.283353e-50 7.747702e-02 3.628620e-01 1.409901e-01

Conditionnal distribution parameters:

Distribution parameters:
  State 1
              mean          var       prop
mixt.  1 0.3228887 0.0670044730 0.01175632
mixt.  2 2.2903418 0.0004215949 0.02883315
mixt.  3 0.6950723 0.1498205389 0.39625490
mixt.  4 0.8153021 0.1616678607 0.56315563

  State 2
              mean           var       prop
mixt.  1 0.9000000 -9.768662e-17 0.04267843
mixt.  2 1.0115568  1.583260e-03 0.06245711
mixt.  3 1.3279109  8.353099e-03 0.16728413
mixt.  4 0.3209322  2.318155e-02 0.72758033

  State 3
                mean          var       prop
mixt.  1 -0.01040615 0.0001118124 0.05114568
mixt.  2  1.28399423 0.0007558368 0.19161416
mixt.  3 -0.51378918 0.0012591050 0.33529535
mixt.  4 -0.26900326 0.0114199682 0.42194481

  State 4
               mean          var       prop
mixt.  1 -0.5196946 0.0370986863 0.06308098
mixt.  2 -0.4491540 0.0001833145 0.11588290
mixt.  3 -0.3999082 0.0194713200 0.17269967
mixt.  4 -0.8223137 0.0155369698 0.64833645

  State 5
                mean         var       prop
mixt.  1 -0.54558081 0.007469851 0.07947785
mixt.  2  2.29433769 0.162783811 0.16413279
mixt.  3 -0.46162548 0.002112128 0.17196909
mixt.  4 -0.01918344 0.011286404 0.58442027

  State 6
                mean         var       prop
mixt.  1  0.04382151 0.004894925 0.09060242
mixt.  2  0.78022790 0.146280792 0.24418142
mixt.  3  1.67034964 0.007670877 0.25471853
mixt.  4 -0.12843702 0.003420775 0.41049763

  State 7
               mean        var      prop
mixt.  1 -0.5438470 0.06310705 0.1163411
mixt.  2 -0.4574091 0.07136046 0.2189112
mixt.  3 -0.5405554 0.06353600 0.2381260
mixt.  4  0.5991808 0.10922573 0.4266217

  State 8
               mean        var      prop
mixt.  1 0.35036456 0.01848146 0.1217106
mixt.  2 0.32292322 0.01495311 0.1712873
mixt.  3 0.06647903 0.01427462 0.1834535
mixt.  4 0.68608747 0.02160377 0.5235487

  State 9
              mean         var       prop
mixt.  1 -1.401972 0.023920717 0.02111203
mixt.  2 -1.737035 0.002683553 0.26584908
mixt.  3 -1.175300 0.021111569 0.35446196
mixt.  4 -2.424672 0.319739380 0.35857693

  State 10
               mean        var       prop
mixt.  1 -2.0511859 0.01757202 0.09649034
mixt.  2 -0.7537656 0.03633816 0.14177569
mixt.  3  0.2397362 0.14818220 0.30284293
mixt.  4  1.4524058 0.19584007 0.45889105

  State 11
              mean         var       prop
mixt.  1 -1.002009 0.004011447 0.06652293
mixt.  2 -1.007930 0.004125391 0.11683122
mixt.  3 -1.122122 0.001598325 0.29372147
mixt.  4 -1.497583 0.010445953 0.52292439


Log-likelihood: NaN
BIC criterium: NaN
AIC criterium: NaN

0.11 -0.9 -1.67 1.13 0.39 1.25 -1.48 -1.42 0.67 -1.41 0.36 -0.42 0.91 0.56 0.39 0.45 -0.17 0.68 -1.01 1.84 0.17 1.28 0.63 0.42 -2.97 0.38 1.04 0.98 0.51 -2.05 -0.7 0.14 -0.33 -1.14 0.83 -0.9 -0.12 1.41 0 -0.21 0.32 0.11 0.23 0 -1.03 -0.47 0.36 0.95 -0.7 -2.07 -1.16 -0.72 -1.25 -0.73 0.23 -0.9 -0.04 -1.8 -0.49 0.46 -0.7 0.67 -0.02 -1.41 0.23 0.05 0.95 0.85 1.34 -0.11 -0.52 -1.09 -0.12 0.54 -0.38 -0.96 0.17 -1.1 1.61 0.47 -2.44 -0.86 0.74 0.29 -0.34 0.47 -0.08 1.77 1.92 -0.22 -0.42 0.61 -0.53 1.57 -0.7 -1.75 0.71 0.9 0.4 0.21 1.07 0.12 1.25 -0.07 0.62 -0.61 -0.12 0.33 1.57 1.31 1.63 -0.15 0.63 -1.1 -1.01 -1.48 0.84 1.47 -0.96 -0.62 0.79 1.71 -0.38 0.86 0.12 -0.78 -0.4 -2.4 -0.6 1.47 -0.7 1.54 -1.74 0.34 1.37 -0.48 0.94 -0.2 -0.11 -0.03 2.16 0.04 0.24 -0.48 1.7 0.97 -1.08 -0.43 -0.95 0.16 -1.52 -0.99 -1.06 -1.9 -0.24 -0.99 0.67 -0.86 0.33 -3.6 -1.14 1.37 -1.5 0.91 0.42 -0.75 -0.81 0.07 -0.57 0.96 0.29 -0.26 0.26 -0.52 -1.19 -1.42 -0.54 -1.14 0.15 -0.2 1.2 1.26 0.06 -0.49 -0.15 1.61 2.6 -0.18 1.27 -0.45 -1.09 0.11 -0.42 1.27 -1.64 -0.04 -1.7 0.07 -0.72 0.63 0.34 0.27 -1.23 -0.99 0.92 -0.26 -0.55 1.68 1.17 1.83 1.11 -0.44 -0.25 0.45 0.37 1个 0.22 0.49 -0.45 0.74 -1.1 -0.99 -0.37 0.92 -0.26 0.02 -0.18 0.07 -0.99 -0.16 -0.07 -0.17 1.6 1.08 0.08 -0.49 0.74 2.35 -0.37 -0.42 -1.46 -2.83 0.24 -0.59 -1.19 1.48 -0.04 -0.85 1.21 0.18 0.66 -1.47 -0.24 0.56 -1.06 0.43 -0.49 -1.61 -0.53 -0.41 1.41 -0.47 -1.97 -0.65 -0.21 -0.13 -1.13 1.45 -1.42 1.06 -1.34 1.02 0.99 0.11 1.31 0.44 1.67 -1.09 0.7 1.56 1.27 -1.71 0.6 0.03 1.41 -0.41 0.06 2.73 1.25 0.62 0.21 0.66 -2.81 0.51 0.51 -1.79 0.18 0.94 0.46 -0.52 -0.7 -0.32 0.05 -0.38 0.39 0.58 0.81 0.59 -0.91 -0.78 1.53 -0.02 -0.89 0.1 0.24 -0.24 -0.49 -0.78 0.48 0.9 0.87 0.24 -1.23 -1.04 -1.05 -0.63 0.11 0.54 -1.7 -0.3 0.94 -0.24 -1.42 -0.39 -0.44 -2.17 -0.53 -0.63 -0.11 0.29 0.68 -0.15 -1.52 -1.45 -1.61 0.75 -0.67 0.65 -0.28 -0.18 0.13 -0.09 0.71 0.75 -1.04 2.35 -0.64 0.6 1.28 1个 0.52 -0.11 0 0.84 0.36 -2.23 0.91 0.34 -0.21 -1.52 -0.28 -1.4 -0.45 -0.37 1.17 -0.54 0.81 -0.78 -0.91 -0.08 -0.66 0.07 -0.9 0.37 -0.34 -1.54 -2.21 -1.75 0.69 0.67 -0.88 -0.08 0.53 0.8 -0.75 2.34 -1.11 -1.71 2.72 0.52 0.75 0.9 0.03 0.23 -1.28 -0.57 2.27 0.31 -0.94 0.61 0.05 0.76 -1.18 -0.06 0.33 1.27 -0.44 2.02 -1.42 -0.05 0.61 0.21 -0.73 0.89 -0.49 0.11 1.37 -1.39 1.14 0.04 0.67 0.37 -0.74 0.32 -1.31 0.88 -0.52 -0.24 -0.02 -0.86 -0.51 1.03 0.47 -0.45 0.63 1.19 0.24 -0.52 1.13 1.33 -1.12 0.59 -0.12 0.56 1.23 1.31 -0.09 0.23 0.16 -1.08 0.99 -0.04 0.39 0.47 0.1 -1.8 -0.75 0.97 1.42 0.34 -0.99 -0.55 0.83 0.53 -0.07 0.03 0.65 0.1 -2.03 0.63 0.73 0.12 1.81 -0.54 -0.36 -1.67 1.29 0.56 0.59 0.35 0.79 -0.58 0.77 -1.62 -0.6 0.39 0.2 0.64 1.58 1.51 -0.01 -0.05 2.31 -0.9 1.5 -1.54 2.08 -1.3 -0.66 0.52 0.42 0.8 -2.44 -0.34 1.03 0.41

我在某处读到 RHmm 已过时。它不再被维护的事实让我相信 NaN 结果是一个没有修复甚至没有记录的错误。无论我在哪里读到它(我认为它在 Whosebug 上,但找不到 post),他们都建议使用包 depmixS4 而不是 RHmm。

如果您想继续使用 RHmm,我已经提出了一些解决方法。仅增加最大值。迭代次数被证明是无效的,因为该算法大部分时间甚至在达到默认的 500 次迭代之前就崩溃了。

首先,您可能想要循环直到收敛。这样做会大大增加脚本的整体运行时间,尤其是当您一遍又一遍地重新拟合模型时。为了解决这个问题,我将相对对数似然增强的容差('tol' 控制参数的参数)增加到 1e-3。

默认值为1e-6。我的猜测是 Baum-Welch 实施在尝试达到该容差时在某个时候出现了下溢。将其增加到 1e-3 将使算法在 LLH 的最后一个增量 < 0.001 而不是 0.000001 时考虑收敛。

这当然会降低模型的 LLH(精度)并增加整体误差,但使其在时间上可行。

生成的代码可能类似于:

baum_welch <- function(observed, max_iter, tolerance) {
   i <- 1
   repeat   {
       hm_model <- HMMFit(obs = observed, nStates = 5, nMixt = 4, dis = "MIXTURE", control = list(iter=max_iter , tol=tolerance))
       if (hm_model$convergence) {
           cat("Tries: ", i, "\n")
           break
       }
       i <- i + 1
   }
   hm_model
}
baum_welch(train_set, 2000, 1e-3)