xKDR / CRRao.jl

MIT License
35 stars 21 forks source link

Fully implement the print functions. #16

Open codetalker7 opened 2 years ago

codetalker7 commented 2 years ago

The file for this issue is src/print.jl. We have extended the Base.show method to print details about models when they are trained; currently these details are not filled in appropriately, and might need some improvements.

sourish-cmi commented 2 years ago

@codetalker7, any update on this issue?

codetalker7 commented 2 years ago

@sourish-cmi no update as such. I had just copied the old print messages (i.e from the old code) and put them in this file.

For Bayesian models, we just use the show method on the chain that Turing.jl returns.

For the frequentist models, the old code contained a few print statements; it'll be great if we can discuss proper printing messages for all these.

sourish-cmi commented 2 years ago

@codetalker7, In the frequentist method, I think the output would be

Model Class: Linear Regression
Likelihood Mode: Gauss
Link Function: Identity
Computing Method: Optimization
───────────────────────────────────────────────────────────────────────────────────────
                      Coef.  Std. Error      t  Pr(>|t|)      Lower 95%       Upper 95%
───────────────────────────────────────────────────────────────────────────────────────
(Intercept)       5.7696e5     10709.5   53.87    <1e-99      5.55934e5       5.97985e5
Area              453107.0     18295.7   24.77    <1e-97      4.17188e5       4.89026e5
Room             -1.18099e5    17251.0   -6.85    <1e-10     -1.51967e5      -84230.5
Area & Room        50745.1     4369.19   11.61    <1e-27       42167.2         59322.9
───────────────────────────────────────────────────────────────────────────────────────
R-squared: 0.749320

I would like to see a similar table for Bayesian regression - something like this

Model Class: Linear Regression
Likelihood Model: Gauss
Prior Model: Ridge
Link Function: Identity
Computing Method: HMC
───────────────────────────────────────────────────────────────────────────────────────
                      Coef.  Std. Dev        Lower 95%       Upper 95%
───────────────────────────────────────────────────────────────────────────────────────
(Intercept)       5.7696e5     10709.5       5.55934e5       5.97985e5
Area              453107.0     18295.7       4.17188e5       4.89026e5
Room             -1.18099e5    17251.0       -1.51967e5     -84230.5
Area & Room        50745.1     4369.19       42167.2         59322.9
───────────────────────────────────────────────────────────────────────────────────────
codetalker7 commented 2 years ago

I see. @sourish-cmi if possible, can you provide the Model Class, Lilkelihood Model, Link Function and Computing Method for all frequentist models?

Or rather, are the current ones in src/print.jl correct (these are passed as string arguments to the details function in that file).

For the Bayesian models, we already have two tables printed out: Summary Statistics and Quantiles, which I believe contain the given information. Apart from this, we can add the Model Class, Likelihood Model, Prior Model, Link Function and Computing Method for Bayesian models too.

sourish-cmi commented 2 years ago

@codetalker7 currently, the frequentist method prints Model Class, Likelihood Model, Link Function and Computing Method. So we don't have to do anything.

You are correct. The Bayesian models have printed out all the necessary information. But if the print function can print the same information in the same format as the frequentist method, that will bring nice conformity in the presentation of the results.