calcAccuracy {hpiR} | R Documentation |
Calculate the accuracy of an index
Description
Estimate index accuracy using one of a variety of approaches
Usage
calcAccuracy(hpi_obj, test_method = "insample", test_type = "rt",
pred_df = NULL, smooth = FALSE, in_place = FALSE,
in_place_name = "accuracy", ...)
Arguments
hpi_obj |
Object of class 'hpi' |
test_method |
default = 'insample'; Also 'kfold' |
test_type |
default = 'rt'; Type of data to use for test. See details. |
pred_df |
default = NULL; Extra data if the test_type doesn't match data in hpi_obj |
smooth |
default = FALSE; calculated on the smoothed index(es) |
in_place |
default = FALSE; Should the result be returned into an existing 'hpi' object |
in_place_name |
default = 'accuracy'; Name for returning in place |
... |
Additional Arguments |
Value
object of class 'hpiaccuracy' inheriting from class 'data.frame' containing the following fields:
- prop_id
Property Identification number
- price
Transaction Price
- pred_price
Predicted price
- error
(Prediction - Actual) / Actual
- log_error
log(prediction) - log(actual)
- pred_period
Period of the prediction
Further Details
'rt' test type tests the ability of the index to correctly predict the second value in a repeat transaction pair FUTURE: 'hed' test type tests the ability of the index to improve an OLS model that doesn't account for time. (This approach is not ready yet).
Examples
# Load Data
data(ex_sales)
# Create Index
rt_index <- rtIndex(trans_df = ex_sales,
periodicity = 'monthly',
min_date = '2010-06-01',
max_date = '2015-11-30',
adj_type = 'clip',
date = 'sale_date',
price = 'sale_price',
trans_id = 'sale_id',
prop_id = 'pinx',
estimator = 'robust',
log_dep = TRUE,
trim_model = TRUE,
max_period = 48,
smooth = FALSE)
# Calculate insample accuracy
hpi_accr <- calcAccuracy(hpi_obj = rt_index,
test_type = 'rt',
test_method = 'insample')