gpstuff-dev / gpstuff

GPstuff - Gaussian process models for Bayesian analysis
http://research.cs.aalto.fi/pml/software/gpstuff/
GNU General Public License v3.0
169 stars 61 forks source link

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

Open YuHsiangLo opened 3 years ago

YuHsiangLo commented 3 years ago

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!

jpvanhat commented 3 years ago

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

avehtari commented 3 years ago

I emailed Lu Cheng

chengl7 commented 3 years ago

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!

jpvanhat commented 3 years ago

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