{"action":"created","issue":{"url":"https://api.github.com/repos/refunders/refund/issues/23","labels_url":"https://api.github.com/repos/refunders/refund/issues/23/labels{/name}","comments_url":"https://api.github.com/repos/refunders/refund/issues/23/comments","events_url":"https://api.github.com/repos/refunders/refund/issues/23/events","html_url":"https://github.com/refunders/refund/issues/23","id":59547049,"number":23,"title":"testing for psfr() / sofr(): RLRT & anova.gam","user":{"login":"fabian-s","id":998541,"avatar_url":"https://avatars.githubusercontent.com/u/998541?v=3","gravatar_id":"","url":"https://api.github.com/users/fabian-s","html_url":"https://github.com/fabian-s","followers_url":"https://api.github.com/users/fabian-s/followers","following_url":"https://api.github.com/users/fabian-s/following{/other_user}","gists_url":"https://api.github.com/users/fabian-s/gists{/gist_id}","starred_url":"https://api.github.com/users/fabian-s/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fabian-s/subscriptions","organizations_url":"https://api.github.com/users/fabian-s/orgs","repos_url":"https://api.github.com/users/fabian-s/repos","events_url":"https://api.github.com/users/fabian-s/events{/privacy}","received_events_url":"https://api.github.com/users/fabian-s/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-03-02T20:46:02Z","updated_at":"2015-06-11T03:43:52Z","closed_at":null,"body":"Matt wrote:\r\n> How are the RLRTing functions going to interface with sofr?  sofr is going to be much too flexible for our RLR tests, right?  I believe both your method and mine require B-splines of a particular order with a particular order penalty.  Also, I don't think my approach can be extended to multiple functional predictors.  Also for mine the user needs to specify the special t2 basis.  They additionally need to specify REML fitting.  So rlrt.sofr is going to take a sofr fit as an argument and just throw an error if the user has not specified a sofr formula exactly in the form needed by our tests?\r\n\r\nBruce wrote:\r\n> I agree with you that sofr will probably be too flexible for our RLR tests.  In terms of how testing will interface with sofr, I'm in a little bit of a holding pattern until sofr reveals itself a little more.  There is some discussion of just having mgcv::anova.gam() be the extent of testing.  Although, as I dig through the literature with which I used to be more familiar, it seems that there will be instances/models where mgcv::anova.gam() may not test the Hypothesis of interest.  \r\n\r\nMatt wrote:\r\n>I am rusty on the literature too.  This snippet from the anova.gam documentation suggests it would be a poor choice for the flm vs fgam test: For terms with a zero-dimensional null space (i.e. those\r\n     which can be penalized to zero) the approximation is often very\r\n     poor, and significance can be greatly overstated: i.e. p-values\r\n     are often substantially too low. This case applies to random effect terms\r\n\r\nBruce wrote:\r\n> Do you have any take on the mgcv::anova.gam() vs. RLRsim kinds of testing?\r\nDo any of us know Simon Wood personally enough to contact him and see if he'd be interested in a collaboration ? Are we thinking of leaving testing of these models behind for a little bit?\r\n\r\nMatt wrote:\r\n> I guess we should implement what we can, make it as flexible as we can, and have a long warning and details section in the documentation. Potentially, if the user specifies something too complex we could still give them the results of anova.gam with a warning."},"comment":{"url":"https://api.github.com/repos/refunders/refund/issues/comments/110990878","html_url":"https://github.com/refunders/refund/issues/23#issuecomment-110990878","issue_url":"https://api.github.com/repos/refunders/refund/issues/23","id":110990878,"user":{"login":"jgellar","id":7795056,"avatar_url":"https://avatars.githubusercontent.com/u/7795056?v=3","gravatar_id":"","url":"https://api.github.com/users/jgellar","html_url":"https://github.com/jgellar","followers_url":"https://api.github.com/users/jgellar/followers","following_url":"https://api.github.com/users/jgellar/following{/other_user}","gists_url":"https://api.github.com/users/jgellar/gists{/gist_id}","starred_url":"https://api.github.com/users/jgellar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jgellar/subscriptions","organizations_url":"https://api.github.com/users/jgellar/orgs","repos_url":"https://api.github.com/users/jgellar/repos","events_url":"https://api.github.com/users/jgellar/events{/privacy}","received_events_url":"https://api.github.com/users/jgellar/received_events","type":"User","site_admin":false},"created_at":"2015-06-11T03:43:52Z","updated_at":"2015-06-11T03:43:52Z","body":"That explains why I wasn't able to find it.\r\n\r\nIf you built your function to work with `fgam` models, I imagine it should work pretty similarly with `pfr` models - you just need to do a check to make sure the model fits your criteria (one `af` term, fit with the `t2` basis, REML, etc). But then you would have had to do most of these checks with the old `fgam` as well, right?"}}