Description Usage Arguments Details Value References See Also Examples
Fit beta regression trees via model-based recursive partitioning.
1 2 3 4 |
formula |
symbolic description of the model of type |
partition |
symbolic description of the partitioning variables,
e.g., |
data, subset, na.action, weights, offset, cluster |
arguments controlling
data/model processing passed to |
link |
character specification of the link function in
the mean model (mu). Currently, |
link.phi |
character specification of the link function in
the precision model (phi). Currently, |
control |
a list of control arguments for the beta regression specified via
|
... |
further control arguments for the recursive partitioning
passed to |
Beta regression trees are an application of model-based recursive partitioning
(implemented in mob
, see Zeileis et al. 2008) to
beta regression (implemented in betareg
, see Cribari-Neto
and Zeileis 2010). See also Grün at al. (2012) for more details.
Various methods are provided for "betatree"
objects, most of them
inherit their behavior from "mob"
objects (e.g., print
, summary
,
coef
, etc.). The plot
method employs the node_bivplot
panel-generating function.
betatree()
returns an object of S3 class "betatree"
which
inherits from "modelparty"
.
Cribari-Neto, F., and Zeileis, A. (2010). Beta Regression in R. Journal of Statistical Software, 34(2), 1–24. doi: 10.18637/jss.v034.i02
Grün, B., Kosmidis, I., and Zeileis, A. (2012). Extended Beta Regression in R: Shaken, Stirred, Mixed, and Partitioned. Journal of Statistical Software, 48(11), 1–25. doi: 10.18637/jss.v048.i11
Zeileis, A., Hothorn, T., and Hornik K. (2008). Model-Based Recursive Partitioning. Journal of Computational and Graphical Statistics, 17(2), 492–514.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | options(digits = 4)
suppressWarnings(RNGversion("3.5.0"))
## data with two groups of dyslexic and non-dyslexic children
data("ReadingSkills", package = "betareg")
## additional random noise (not associated with reading scores)
set.seed(1071)
ReadingSkills$x1 <- rnorm(nrow(ReadingSkills))
ReadingSkills$x2 <- runif(nrow(ReadingSkills))
ReadingSkills$x3 <- factor(rnorm(nrow(ReadingSkills)) > 0)
## fit beta regression tree: in each node
## - accurcay's mean and precision depends on iq
## - partitioning is done by dyslexia and the noise variables x1, x2, x3
## only dyslexia is correctly selected for splitting
bt <- betatree(accuracy ~ iq | iq, ~ dyslexia + x1 + x2 + x3,
data = ReadingSkills, minsize = 10)
plot(bt)
## inspect result
coef(bt)
if(require("strucchange")) sctest(bt)
## IGNORE_RDIFF_BEGIN
summary(bt, node = 2)
summary(bt, node = 3)
## IGNORE_RDIFF_END
## add a numerical variable with relevant information for splitting
ReadingSkills$x4 <- rnorm(nrow(ReadingSkills), c(-1.5, 1.5)[ReadingSkills$dyslexia])
bt2 <- betatree(accuracy ~ iq | iq, ~ x1 + x2 + x3 + x4,
data = ReadingSkills, minsize = 10)
plot(bt2)
## inspect result
coef(bt2)
if(require("strucchange")) sctest(bt2)
## IGNORE_RDIFF_BEGIN
summary(bt2, node = 2)
summary(bt2, node = 3)
## IGNORE_RDIFF_END
|
(Intercept) iq (phi)_(Intercept) (phi)_iq
2 1.6565 1.46571 1.273 2.048
3 0.3809 -0.08623 4.808 0.826
Loading required package: strucchange
Loading required package: zoo
Attaching package: 'zoo'
The following objects are masked from 'package:base':
as.Date, as.Date.numeric
Loading required package: sandwich
$`1`
dyslexia x1 x2 x3
statistic 2.269e+01 8.5251 5.5699 1.0568
p.value 5.848e-04 0.9095 0.9987 0.9999
$`2`
dyslexia x1 x2 x3
statistic 0 6.4116 4.5170 4.2308
p.value NA 0.8412 0.9752 0.7566
$`3`
NULL
Call:
betatree(formula = accuracy ~ iq | iq, data = ReadingSkills)
Standardized weighted residuals 2:
Min 1Q Median 3Q Max
-1.821 -0.521 0.061 0.849 1.063
Coefficients (mean model with logit link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.657 0.286 5.78 7.3e-09 ***
iq 1.466 0.248 5.92 3.2e-09 ***
Phi coefficients (precision model with log link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.273 0.307 4.15 3.4e-05 ***
iq 2.048 0.331 6.19 5.9e-10 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Type of estimator: ML (maximum likelihood)
Log-likelihood: 39.4 on 4 Df
Pseudo R-squared: 0.149
Number of iterations: 17 (BFGS) + 1 (Fisher scoring)
Call:
betatree(formula = accuracy ~ iq | iq, data = ReadingSkills)
Standardized weighted residuals 2:
Min 1Q Median 3Q Max
-2.455 -0.659 -0.079 0.813 1.610
Coefficients (mean model with logit link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.3809 0.0486 7.83 4.8e-15 ***
iq -0.0862 0.0549 -1.57 0.12
Phi coefficients (precision model with log link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) 4.808 0.414 11.61 <2e-16 ***
iq 0.826 0.395 2.09 0.036 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Type of estimator: ML (maximum likelihood)
Log-likelihood: 27.3 on 4 Df
Pseudo R-squared: 0.0391
Number of iterations: 16 (BFGS) + 1 (Fisher scoring)
(Intercept) iq (phi)_(Intercept) (phi)_iq
2 1.460 1.7332 0.6222 2.8365
3 1.127 0.3416 1.4104 -0.3735
$`1`
x1 x2 x3 x4
statistic 8.5251 5.5699 1.0568 19.94405
p.value 0.9095 0.9987 0.9999 0.03485
$`2`
NULL
$`3`
x1 x2 x3 x4
statistic 6.4811 6.6100 1.9526 17.63629
p.value 0.9678 0.9625 0.9957 0.05837
Call:
betatree(formula = accuracy ~ iq | iq, data = ReadingSkills)
Standardized weighted residuals 2:
Min 1Q Median 3Q Max
-1.718 -0.482 -0.034 0.885 0.944
Coefficients (mean model with logit link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.460 0.486 3.00 0.0027 **
iq 1.733 0.369 4.69 2.7e-06 ***
Phi coefficients (precision model with log link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.622 0.506 1.23 0.22
iq 2.836 0.503 5.64 1.7e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Type of estimator: ML (maximum likelihood)
Log-likelihood: 23.5 on 4 Df
Pseudo R-squared: 0.348
Number of iterations: 16 (BFGS) + 1 (Fisher scoring)
Call:
betatree(formula = accuracy ~ iq | iq, data = ReadingSkills)
Standardized weighted residuals 2:
Min 1Q Median 3Q Max
-1.173 -0.622 -0.406 0.141 3.619
Coefficients (mean model with logit link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.127 0.209 5.39 7.2e-08 ***
iq 0.342 0.198 1.73 0.084 .
Phi coefficients (precision model with log link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.410 0.262 5.38 7.4e-08 ***
iq -0.373 0.264 -1.42 0.16
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Type of estimator: ML (maximum likelihood)
Log-likelihood: 15.7 on 4 Df
Pseudo R-squared: 0.161
Number of iterations: 16 (BFGS) + 1 (Fisher scoring)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.