YinLiLin / KAML

:bicyclist: Kinship Adjusted Multi-Loci Best Linear Unbiased Prediction

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How can I assess the predictive ability of my model?

qizhengyang2017 opened this issue Β· comments

Hi,
First of all, thank you for developing the wonderful software. I used all my samples as training data to train a predictive model and the final output is listed below. I want to know the prediction accuracy of the model I got, which is a QTN+K model. It seems I can use Cross-validation to assess my model, but I didn't know how to do that. Is there a parameter in KAML to do that, or I need to do it by myself?

List of 12
 $ y       : num [1:376, 1] 27.9 29.6 29.7 28.5 29.6 ...
  ..- attr(*, "dimnames")=List of 2
  .. ..$ : NULL
  .. ..$ : chr "FL"
 $ beta    : num 29.3
 $ gebv    : num [1:376, 1] -1.478 0.248 0.318 -0.859 0.276 ...
  ..- attr(*, "dimnames")=List of 2
  .. ..$ : NULL
  .. ..$ : chr "FL"
 $ vg      : num [1, 1] 1.09
 $ ve      : num 1.07
 $ qtn     : num [1:2] 1909343 1234880
 $ qtn.eff : num [1:2] -0.383 -0.471
 $ model   : chr "QTN+K"
 $ weight  : num [1:2658921] 0.987 0.987 0.987 0.987 0.987 ...
 $ top.perc: num 0.000923
 $ logx    : num 1.11
 $ K       : num [1:376, 1:376] 0.8634 0.3642 0.0102 -0.0312 -0.1829 ...

Thank you for trying KAML. There is no automatic procedure to implement cross-validation in KAML, it should be done by an additional self-made script.

Thank your for you reply.

I have another question. I noticed that in your example data, testing individuals and training individuals were put together, so after training procedure, the gEBV of testing individual could also be output.

However, in my situation, I want to get a prediction equation and then use this equation to predict the individuals. I am a beginner to the LMM, so I am not sure the equation is like, although I think the final output gives enought information. I suppose the weight vector and the K matrix is needed for prediction, since the format of BLUP model is 𝐲 = 𝐗𝛃 + π™πš + 𝐞. Or maybe just weight vector is needed. my question is:

Suppose I have an individual and its genotype is (1,0,1,2...), how can I get the predicted value by using the KAML output?

Sorry to bother you again.

Sorry that i am not very clear about your question, if you wanna predict any individual, just merge it in the genotype data, with a phenotypic value marked as NA, then it will be predicted automatically by KAML.

Thanks!