| textmodel_affinity {quanteda.textmodels} | R Documentation |
Class affinity maximum likelihood text scaling model
Description
textmodel_affinity() implements the maximum likelihood supervised text
scaling method described in Perry and Benoit (2017).
Usage
textmodel_affinity(
x,
y,
exclude = NULL,
smooth = 0.5,
ref_smooth = 0.5,
verbose = quanteda_options("verbose")
)
Arguments
x |
the dfm or bootstrap_dfm object on which the model will be fit. Does not need to contain only the training documents, since the index of these will be matched automatically. |
y |
vector of training classes/scores associated with each document
identified in |
exclude |
a set of words to exclude from the model |
smooth |
a smoothing parameter for class affinities; defaults to 0.5 (Jeffreys prior). A plausible alternative would be 1.0 (Laplace prior). |
ref_smooth |
a smoothing parameter for token distributions; defaults to 0.5 |
verbose |
logical; if |
Value
A textmodel_affinity class list object, with elements:
-
smootha numeric vector of length two for the smoothing parameterssmoothandref_smoothxthe input model matrixxythe vector of class training labelsypa feature\timesclass sparse matrix of estimated class affinities -
supportlogical vector indicating whether a feature was included in computing class affinities -
callthe model call
Author(s)
Patrick Perry and Kenneth Benoit
References
Perry, P.O. & Benoit, K.R. (2017). Scaling Text with the Class Affinity Model. doi:10.48550/arXiv.1710.08963.
See Also
predict.textmodel_affinity() for methods of applying a
fitted textmodel_affinity() model object to predict quantities from
(other) documents.
Examples
(af <- textmodel_affinity(quanteda::data_dfm_lbgexample, y = c("L", NA, NA, NA, "R", NA)))
predict(af)
predict(af, newdata = quanteda::data_dfm_lbgexample[6, ])
## Not run:
# compute bootstrapped SEs
dfmat <- quanteda::bootstrap_dfm(data_corpus_dailnoconf1991, n = 10, remove_punct = TRUE)
textmodel_affinity(dfmat, y = c("Govt", "Opp", "Opp", rep(NA, 55)))
## End(Not run)