Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pathfinder warning message is misleading #3223

Closed
jgabry opened this issue Sep 1, 2023 · 4 comments · Fixed by #3224
Closed

Pathfinder warning message is misleading #3223

jgabry opened this issue Sep 1, 2023 · 4 comments · Fixed by #3224
Labels

Comments

@jgabry
Copy link
Member

jgabry commented Sep 1, 2023

Description:

This warning message

if (smoothed.second > 0.7) {
logger.warn(std::string("Pareto k value (") +
std::to_string(smoothed.second) + ") is greater than 0.7 which often"
" indicates model" " misspecification.");
}
}

is not quite right. Misspecification is a possibility, but the model may often be specified just fine and the Pareto k diagnostic could be high because Pathfinder + PSIS might still be a poor approximation to the posterior.

Reproducible Steps:

Look at the code I linked to above to see the message, you don't need to run a model.

Current Output:

The warning in the code linked above.

Expected Output:

A more accurate warning message indicating that it might be misspecification but could also likely be that the approximation is poor.

Additional Information:

Provide any additional information here.

Current Version:

v2.32.2

@jgabry jgabry added the bug label Sep 1, 2023
@ssp3nc3r
Copy link

ssp3nc3r commented Sep 1, 2023

maybe something like,

"which may indicate poor approximation of the target distribution; re-parameterization may help."

And if re-parameterization may help — hope springs eternal — are there other pathfinder diagnostics or hints on where to start?

@jgabry
Copy link
Member Author

jgabry commented Sep 1, 2023

@avehtari What do you think?

@jgabry jgabry changed the title Pathfinder warning message is misleading and may confuse users Pathfinder warning message is misleading Sep 1, 2023
@jgabry
Copy link
Member Author

jgabry commented Sep 1, 2023

maybe something like,

"which may indicate poor approximation of the target distribution; re-parameterization may help."

I think it may still be a good idea to mention misspecification because that's still a possibility. Maybe:

Pareto k value is greater than 0.7 which may indicate a poor approximation 
to the target distribution or model misspecification. 

Or we could say more:

Pareto k value is greater than 0.7 which indicates infinite variance 
of the importance ratios used for resampling. 
This may be due to a poor approximation to the target distribution or model misspecification. 

That's a bit verbose but much more informative. Maybe @avehtari will have a better idea.

@avehtari
Copy link
Collaborator

avehtari commented Sep 1, 2023

The model misspecification is not relevant here, and probably was mistakenly carried over from LOO-CV diagnostic.

I would write
"Pareto k diagnostic value is greater than 0.7 which may indicate a poor approximation and indicates that importance resampling is not able to improve the approximation."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants