Description Usage Arguments Details Value Please cite as: Author(s) References See Also Examples
View source: R/quantification.R
cp
implements the method for the quantifcation of qualitative survey data proposed by Carlson/Parkin (1985). Additionally, it provides certain extensions of the CarlsonParkin approach (e.g. other distributions than the normal distribution, indifference limens depending on the level of the forecasted variable).
1 2 3 4 5 6 7 8  cp(y.series, survey.up, survey.same, survey.down, forecast.horizon,
first.period = 1, last.period = (length(survey.up)  forecast.horizon),
limen.type = "carlson.parkin", const.limen = 0, user.symm.limen = 0,
user.upper.limen = 0, user.lower.limen = 0, correct.zero = TRUE,
correct.by = 0.01, growth.limit = NA, distrib.type = "normal",
distrib.mean = 0, distrib.sd = 1, distrib.log.location = 0,
distrib.log.scale = 1, distrib.t.df = (last.period  first.period),
suppress.warnings = FALSE)

y.series 
a numerical vector containing the variable whose change is the subject of the qualitative survey question. If, for example the survey asks participants to assess whether inflation will increase, decrease or stay the same, 
survey.up 
a numerical vector containing the number or the share of survey respondents expecting the variable contained in 
survey.same 
a numerical vector containing the number or the share of survey respondents expecting the variable contained in 
survey.down 
a numerical vector containing the number or the share of survey respondents expecting the variable contained in 
forecast.horizon 
a numeric value defining the number of periods the survey question looks in to the future. If the data in 
first.period 
an optional numeric value indexing the first period for which survey data in 
last.period 
an optional numeric value indexing the last period for which survey data in 
limen.type 
an optional character vector describing the type of indifference limen that shall be used for quantification. Possible values are:

const.limen 
an optional numeric value containing the symmetric, timeinvariant userdefined indifference limen. Must be provided when " 
user.symm.limen 
an optional numeric vector containing the symmetric, timevarying indifference limen. Must be provided when " 
user.upper.limen 
an optional numeric vector containing the upper, timevarying indifference limen. Must be provided when " 
user.lower.limen 
an optional numeric vector containing the lower, timevarying indifference limen. Must be provided when " 
correct.zero 
an optional logical value steering the automatic correction of zerovalues in 
correct.by 
an optional parameter indicating the amount by which 
growth.limit 
serves to limit the effect of outliers when expectations are quantified under the assumption that survey respondents form expectations on the percentage change of 
distrib.type 
an optional character vector describing the type of distribution used for quantification. Possible values are:

distrib.mean 
an optional numerical value defining the mean of the normal distribution (used in case 
distrib.sd 
an optional numerical value defining the standard deviation of the normal distribution (used in case 
distrib.log.location 
an optional numerical value defining the location of the logistic distribution (used in case 
distrib.log.scale 
an optional numerical value defining the scale of the logistic distribution (used in case 
distrib.t.df 
an optional numerical value defining the degrees of freedom (df) of the t distribution (used in case 
suppress.warnings 
a logical value indicating if runtime warnings shall be displayed ( 
cp
provides two alternative versions of quantified expectations, depending on the assumed expectation formation process of survey respondents. The basic common assumption of the CarlsonParkin method is that survey participants are asked to assess whether variable y
will go up or down or stay the same. Survey respondents can now form expectations on either the absolute or the relative change of y
which differ because the indifferent limens used for quantification are calculated differently in each case. The cp
function calculates both versions.
The survey result vectors survey.up
, survey.down
and survey.same
as well as the variable y.series
must be of the same length and must cover the forecasted horizon (i.e. last.period
+ forecast.horizon
≤ length(survey.up)
).
Data in survey.up
, survey.down
and survey.same
outside the survey period interval [first.period, last.period]
are ignored. Similiarly, y.series
data with a period index greater than last.period
is ignored.
first.period
must be greater than forecast.horizon
, because indifference limens use the current change of variable y
for calibration. In order to calculate the change in y
for the survey obersavation with index first.period
the observation of y
with index first.period  forecast.horizon
is required.
survey.up
, survey.down
and survey.same
need not sum up to 100%
or 1
(which may happen, for example, if the survey has a 'Don't know' answer option).
The WeberFechner option (see Henzel/Wollmershaeuser (2005) for details) weighs the 'expectations' term in the traditional CarlsonParkin limen calculation with the current inflation rate. The resulting timeinvariant value is applied as a proportionality factor to current inflation leading to a timevarying, inflationproportional indifference limen.
When the indifference limen is userdefined (i.e. limen.type="symm.series"
or limen.type="asymm.series"
) then each limen value needs to be placed in such a way in the limen vector(s) (i.e. user.limen
or user.upper.limen
/ user.lower.limen
) that it has the same index as the survey observation (in survey.up
, survey.down
and survey.same
) to which it belongs.
cp
returns a list containing the quantified survey data and some meta information. The list has the following elements:
y.e.mean.abs
: a numeric vector containing the quantified mean expectations of the variable y
, assuming that survey respondents form expectations on the absolute change in y
. For all periods which are not in scope of the survey the value is NA
.
y.e.mean.perc
: a numeric vector containing the quantified mean expectations of the variable y
, assuming that survey respondents form expectations on the relative change in y
. For all periods which are not in scope of the survey the value is NA
.
delta.y.e.mean.abs
: a numeric vector containing the quantified mean absolute change of the variable y
, assuming that survey respondents form expectations on the absolute change in y
. For all periods which are not in scope of the survey the value is NA
.
delta.y.e.mean.perc
: a numeric vector containing the quantified mean percentage change of the variable y
, assuming that survey respondents form expectations on the relative change in y
. For all periods which are not in scope of the survey the value is NA
.
delta.y.e.sd.abs
: a numeric vector containing the standard deviation of the absolute change expectation for variable y
in the population. Assumes that survey respondents form expectations on the absolute change in y
. For all periods which are not in scope of the survey the value is NA
.
delta.y.e.sd.perc
: a numeric vector containing the standard deviation of the absolute change expectation for variable y
in the population. Assumes that survey respondents form expectations on the relative change in y
. For all periods which are not in scope of the survey the value is NA
.
limen.abs
: a numeric vector containing the estimated (or userdefined) indifference limens assuming that survey respondents form expectations on the absolute change in variable y
. For all periods which are not in scope of the survey the value is NA
.
limen.perc
: a numeric vector containing the estimated (or userdefined) indifference limens assuming that survey respondents form expectations on the relative change in variable y
. For all periods which are not in scope of the survey the value is NA
.
nob
: a numeric value showing the number of periods for which expectations have been quantified.
mae.abs
: a numeric value showing the mean absolute error (MAE) of expectations when survey respondents form expectations on the absolute change in variable y
.
rmse.abs
: a numeric value showing the root mean squared error (RMSE) of expectations when survey respondents form expectations on the absolute change in variable y
.
mae.perc
: a numeric value showing the mean absolute error (MAE) of expectations when survey respondents form expectations on the relative change in variable y
.
rmse.perc
: a numeric value showing the root mean squared error (RMSE) of expectations when survey respondents form expectations on the relative change in variable y
.
Zuckarelli, Joachim (2014). Quantification of qualitative survey data in R.
R package version 0.1.0. http://CRAN.Rproject.org/package=quantification
Joachim Zuckarelli, [email protected]
Carlson, J. A./Parkin, M. (1975), Inflation expectations, Economica 42, 123–138.
Henzel, S./Wollmershaeuser, T. (2005), Quantifying inflation expectations with the CarlsonParkin method: A surveybased determination of the just noticeable difference, Journal of Business Cycle Measurement and Analysis 2, 321–352.
Nardo, M. (2003), The quantification of qualitative survey data: a critical assessment, Journal of Economic Surveys 17 (5), 645–668.
quantificationpackage
, bal
, ra
, ce
1 2 3 4 5 6 7 8 9 10 11 12 13  ## Data preparation: generate a sample dataset with inflation and survey data
inflation<c(1.7, 1.9, 2, 1.9, 2, 2.1, 2.1, 2.1, 2.4, 2.3, 2.4)
answer.up<c(67, 75.1, 76.4, 72.4, 69.7, 49.7, 45.2, 31.6, 14.9, 19.3, 19.2)
answer.same<c(30.1, 19.6, 19.5, 21.3, 20.1, 33.1, 34.4, 33.5, 44.6, 38.1, 35.3)
answer.down<c(2.9, 5.3, 4.1, 6.3, 10.2, 17.2, 20.4, 34.9, 40.5, 42.6, 45.5)
## Call cp for quantification
quant.cp.limens<cp(inflation, answer.up, answer.same, answer.down, first.period=5,
last.period=7, forecast.horizon=4)
## With WeberFechner limens instead of CarsonParkin limens
quant.wf.limens<cp(inflation, answer.up, answer.same, answer.same, first.period=5,
last.period=7, forecast.horizon=4, limen.type="weber.fechner")

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.