gpstuff icon indicating copy to clipboard operation
gpstuff copied to clipboard

Undefined function or variable 'neff'. in diag/psrf.m

Open YuHsiangLo opened this issue 4 years ago • 4 comments

Hi,

I got the following error while running the test code from LonGP:

>> lonGP('./test/output',1)
processing target 1: y.

in conStep1

Selecting 0th continuous variable.
toSelVarInds: 1
Resuming from rep=1 mcmc_round=4.
Undefined function or variable 'neff'.

Error in psrf (line 108)
neff=min(neff,N*M);

Error in runMCMC (line 97)
    R = psrf(thetaArr{:});

Error in runMcmcInfer (line 26)
    [R, rfull, flag] = runMCMC(gp,xmn,ymn,nRep,tmpresfile);

Error in conStep1 (line 44)
    runMcmcInfer(currVarFlagArr, 1);

Error in lonGP (line 173)
        currNextFun(currNextArg{:});

I think this was caused by the last line neff=min(neff,N*M); being outside the function definition in diag/psrf.m. I was running the code on MATLAB R2019a with macOS 10.15.7, using the gpstuff dev branch. Could you look into this? Thanks a lot!

YuHsiangLo avatar Feb 20 '21 23:02 YuHsiangLo

Hi, The problem seems to be in the LonGP function that calls GPstuff function. Hence, maybe @avehtari can direct this issue to someone in LonGP team.

-Jarno

jpvanhat avatar Mar 08 '21 13:03 jpvanhat

I emailed Lu Cheng

avehtari avatar Mar 08 '21 14:03 avehtari

Hi YuHsiangLo,

Sorry for the long delay.

The problem is that the code needs to use 'SuiteSparse' in GPstuff to make inferences. There are two solutions.

  1. use the file "LonGP/util/gpcf_cat.m.bak" to replace the file "gpstuff/gp/gpcf_cat.m"
  2. install 'SuiteSparse', check the installation manual of GPstuff

Cheers, Lu

Hi,

I got the following error while running the test code from LonGP:

>> lonGP('./test/output',1)
processing target 1: y.

in conStep1

Selecting 0th continuous variable.
toSelVarInds: 1
Resuming from rep=1 mcmc_round=4.
Undefined function or variable 'neff'.

Error in psrf (line 108)
neff=min(neff,N*M);

Error in runMCMC (line 97)
    R = psrf(thetaArr{:});

Error in runMcmcInfer (line 26)
    [R, rfull, flag] = runMCMC(gp,xmn,ymn,nRep,tmpresfile);

Error in conStep1 (line 44)
    runMcmcInfer(currVarFlagArr, 1);

Error in lonGP (line 173)
        currNextFun(currNextArg{:});

I think this was caused by the last line neff=min(neff,N*M); being outside the function definition in diag/psrf.m. I was running the code on MATLAB R2019a with macOS 10.15.7, using the gpstuff dev branch. Could you look into this? Thanks a lot!

chengl7 avatar Mar 11 '21 17:03 chengl7

Hi @YuHsiangLo . Did the above answer solve your problem and can we close this issue?

jpvanhat avatar Apr 06 '21 07:04 jpvanhat