Comments (2)
Just some ideas:
If have a p
-dimensional covariate called multx
and additional some other unidimensional covariate x
, then maybe can run in two separate models then combine. Use some option (I don't know what to call it yet) run=F
so the EM doesn't actually run, but perhaps only stores the kernels for example.
mod1 <- iprior(y ~ multx, one.lam=T, run=F)
mod2 <- iprior(y ~ x, run=F)
mod <- combine.iprior(mod1, mod2)
The function combine.iprior
does the actual running of the EM, and all that is really needed is the kernel matrices which was specified in mod1
and mod2
. The number of lambdas
has also already been determined correctly, because each of the models were specified individually.
This may be a more tedious multistage approach to running the model. But the advantages are:
- R's data frame are not able to handle multidimensional covariates. We would need to use arrays or list, which are a bit clumsy to manipulate and prone to errors (might confuse the dimensions).
- As automatic handling of multidimensional covariates are out of the question, we need to resort to some way of specifying these multidimensional covariates. Something along the lines of
lambda=c(1,1,1,1,1,2,3)
for example, to say that the first five covariates share the samelambda
while the sixth and seventh have their own scale parameters. I would prefer to avoid this method if possible as it can get really messy if there are a lot of covariates involved. Although I am not ruling this out. Further thought and discussion needed. NOTE: Relates to issue #13 - This multistage approach allows an existing model to be updated by adding (an) additional covariates. So we get this bonus feature for "free".
from iprior.
Latest release has this feature. Will write about it in the wiki soon.
from iprior.
Related Issues (20)
- On including the intercept in the EM update HOT 1
- Installation error on `r-oldrel-windows-ix86+x86_64` HOT 1
- Large .so file being generated in Linux systems HOT 1
- Print of `ipriorKernel` object
- Fitting all two-way interactions when some scale parameters are shared
- Code cleanup in `indxFn()`
- Different Hurst coefficients for different variables? HOT 6
- Make control options easier to input HOT 1
- Large installed package size HOT 1
- No errors when wrong dimensions in non-formula syntax
- Add new kernels
- Bug with the `fastVDiag()` function
- Summary screen for Nystrom approximation HOT 1
- Nystrom for the Pearson kernel
- Bug in `predict()` function HOT 1
- Change `X1` to `X` in `xnames`
- Does the function call show the right information when using `iprior.ipriorMod()`? HOT 1
- Add function to update ipriorKernel
- Check standard errors for direct optimisation
- Wrong scale for predictions from "predict(...,newdata=...)" HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iprior.