<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: PROC MCMC IRT &amp;quot;ERROR: The log-likelihood value is invalid.&amp;quot; in Statistical Procedures</title>
    <link>https://communities.sas.com/t5/Statistical-Procedures/PROC-MCMC-IRT-quot-ERROR-The-log-likelihood-value-is-invalid/m-p/900626#M44646</link>
    <description>&lt;P&gt;It's always a good idea to show the error in the log.&lt;/P&gt;
&lt;P&gt;I don't see the variables z1-z5 in the program, although they could be in the input data set. Should the equation for p[k] be&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;p[k] = z[k]/(z[1]+z[2]+z[3]+z[4]+z[5]);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 30 Oct 2023 10:30:21 GMT</pubDate>
    <dc:creator>Rick_SAS</dc:creator>
    <dc:date>2023-10-30T10:30:21Z</dc:date>
    <item>
      <title>PROC MCMC IRT "ERROR: The log-likelihood value is invalid."</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/PROC-MCMC-IRT-quot-ERROR-The-log-likelihood-value-is-invalid/m-p/900563#M44644</link>
      <description>&lt;DIV&gt;&lt;P&gt;&lt;SPAN&gt;I'm experimenting with proc mcmc in SAS EG to build&amp;nbsp; ERS and MRS for MNRM(multidimensional nominal response model).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I've referenced the following paper:Using SAS PROC MCMC for Item Response Theory Models&amp;nbsp;&lt;A href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5965616/" target="_blank"&gt;Using SAS PROC MCMC for Item Response Theory Models - PMC (nih.gov)&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;My code is below:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;proc mcmc data=est1 outpost =est_eem_mnrm_postgr seed = 23 nbi=5000&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;nmc=20000 diagnostics=all plots = all nthreads=-1 DIC;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;array theta[3];&lt;/DIV&gt;&lt;DIV&gt;array c[10,5] c1_1-c1_5&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;c2_1-c2_5&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;c3_1-c3_5&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;c4_1-c4_5&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;c5_1-c5_5&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;c6_1-c6_5&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;c7_1-c7_5&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;c8_1-c8_5&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;c9_1-c9_5&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;c10_1-c10_5;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;array i[990];&lt;/DIV&gt;&lt;DIV&gt;array z[5];&lt;/DIV&gt;&lt;DIV&gt;array p[5];&lt;/DIV&gt;&lt;DIV&gt;parms c1_2-c1_5 0;&lt;/DIV&gt;&lt;DIV&gt;parms c2_2-c2_5 0;&lt;/DIV&gt;&lt;DIV&gt;parms c3_2-c3_5 0;&lt;/DIV&gt;&lt;DIV&gt;parms c4_2-c4_5 0;&lt;/DIV&gt;&lt;DIV&gt;parms c5_2-c5_5 0;&lt;/DIV&gt;&lt;DIV&gt;parms c6_2-c6_5 0;&lt;/DIV&gt;&lt;DIV&gt;parms c7_2-c7_5 0;&lt;/DIV&gt;&lt;DIV&gt;parms c8_2-c8_5 0;&lt;/DIV&gt;&lt;DIV&gt;parms c9_2-c9_5 0;&lt;/DIV&gt;&lt;DIV&gt;parms c10_2-c10_5 0;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;c1_1 = -(c1_2+c1_3+c1_4+c1_5);&lt;/DIV&gt;&lt;DIV&gt;c2_1 = -(c2_2+c2_3+c2_4+c2_5);&lt;/DIV&gt;&lt;DIV&gt;c3_1 = -(c3_2+c3_3+c3_4+c3_5);&lt;/DIV&gt;&lt;DIV&gt;c4_1 = -(c4_2+c4_3+c4_4+c4_5);&lt;/DIV&gt;&lt;DIV&gt;c5_1 = -(c5_2+c5_3+c5_4+c5_5);&lt;/DIV&gt;&lt;DIV&gt;c6_1 = -(c6_2+c6_3+c6_4+c6_5);&lt;/DIV&gt;&lt;DIV&gt;c7_1 = -(c7_2+c7_3+c7_4+c7_5);&lt;/DIV&gt;&lt;DIV&gt;c8_1 = -(c8_2+c8_3+c8_4+c8_5);&lt;/DIV&gt;&lt;DIV&gt;c9_1 = -(c9_2+c9_3+c9_4+c9_5);&lt;/DIV&gt;&lt;DIV&gt;c10_1 = -(c10_2+c10_3+c10_4+c10_5);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;prior c1_2-c1_5 c2_2-c2_5 c3_2-c3_5 c4_2-c4_5 c5_2-c5_5&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;c6_2-c6_5 c7_2-c7_5 c8_2-c8_5 c9_2-c9_5 c10_2-c10_5&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;~normal(0, var=25);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;random theta1~normal(0,var=1) subject=_obs_;&lt;/DIV&gt;&lt;DIV&gt;random theta2~normal(0,var=1) subject=_obs_;&lt;/DIV&gt;&lt;DIV&gt;random theta3~normal(0,var=1) subject=_obs_;&lt;/DIV&gt;&lt;DIV&gt;llike=0;&lt;/DIV&gt;&lt;DIV&gt;do m = 1 to 990;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; i[m] = m;&lt;/DIV&gt;&lt;DIV&gt;do j = 1 to 10;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;z[1] =exp((-2)*theta[1]+(1)*theta[2]+(-0.25)*theta[3]+c[j,1]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;z[2] =exp((-1)*theta[1]+(-0.67)*theta[2]+(-0.25)*theta[3]+c[j,2]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;z[3] =exp((0)*theta[1]+(-0.67)*theta[2]+(1)*theta[3]+c[j,3]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;z[4] =exp((1)*theta[1]+(-0.67)*theta[2]+(-0.25)*theta[3]+c[j,4]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; z[5] =exp((2)*theta[1]+(1)*theta[2]+(-0.25)*theta[3]+c[j,5]);&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;do k = 1 to 5;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;p[k] = z[k]/(z1+z2+z3+z4+z5);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;end;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;llike = llike+log(p[i[j]]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;end;&lt;/DIV&gt;&lt;DIV&gt;model general(llike);&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Running the above code yields:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;ERROR: The log-likelihood value is invalid.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;How can I slove this problem?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Many thanks!&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;chichingmui&lt;/SPAN&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 30 Oct 2023 02:47:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/PROC-MCMC-IRT-quot-ERROR-The-log-likelihood-value-is-invalid/m-p/900563#M44644</guid>
      <dc:creator>chichingmui</dc:creator>
      <dc:date>2023-10-30T02:47:35Z</dc:date>
    </item>
    <item>
      <title>Re: PROC MCMC IRT "ERROR: The log-likelihood value is invalid."</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/PROC-MCMC-IRT-quot-ERROR-The-log-likelihood-value-is-invalid/m-p/900621#M44645</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It might have something to do with missing values.&lt;/P&gt;
&lt;P&gt;Try using INITIAL= option in MODEL statement of PROC MCMC.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;SAS/STAT 15.3 User's Guide&lt;BR /&gt;The MCMC Procedure&lt;BR /&gt;MODEL Statement&lt;BR /&gt;&lt;A href="https://go.documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/statug/statug_mcmc_syntax09.htm" target="_blank"&gt;https://go.documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/statug/statug_mcmc_syntax09.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also possible (didn't check your code very well).&lt;BR /&gt;Prior distribution for sigma (variance) is specified as normal. &lt;BR /&gt;In this case, it might be possible to have negative variance, which results in problem for calculating log-likelihood.&lt;BR /&gt;Modify into other prior distribution, which has range above zero.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, Koen&lt;/P&gt;</description>
      <pubDate>Mon, 30 Oct 2023 10:11:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/PROC-MCMC-IRT-quot-ERROR-The-log-likelihood-value-is-invalid/m-p/900621#M44645</guid>
      <dc:creator>sbxkoenk</dc:creator>
      <dc:date>2023-10-30T10:11:58Z</dc:date>
    </item>
    <item>
      <title>Re: PROC MCMC IRT "ERROR: The log-likelihood value is invalid."</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/PROC-MCMC-IRT-quot-ERROR-The-log-likelihood-value-is-invalid/m-p/900626#M44646</link>
      <description>&lt;P&gt;It's always a good idea to show the error in the log.&lt;/P&gt;
&lt;P&gt;I don't see the variables z1-z5 in the program, although they could be in the input data set. Should the equation for p[k] be&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;p[k] = z[k]/(z[1]+z[2]+z[3]+z[4]+z[5]);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Oct 2023 10:30:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/PROC-MCMC-IRT-quot-ERROR-The-log-likelihood-value-is-invalid/m-p/900626#M44646</guid>
      <dc:creator>Rick_SAS</dc:creator>
      <dc:date>2023-10-30T10:30:21Z</dc:date>
    </item>
  </channel>
</rss>

