Description Usage Arguments Details Value Author(s) References See Also Examples
This function estimates a distance decay function from observed data and compares different function types
1 | huff.decay(dataset, x, y, plotFunc = TRUE)
|
dataset |
A |
x |
A numeric vector containing the independent variable, the transport costs (e.g. traveling time or street distance) |
y |
A numeric vector containing the dependent variable, the interaction measure (e.g. local market shares, trip volume, visitors per capita) |
plotFunc |
logical argument that indicates if the curves are plotted (default: |
The distance decay function is a classic concept in quantitative economic geography and describes the relationship between transport costs and trip volume between origins (i) and a destination (j). The dependent variable is an indicator of trip volume, such as local market shares or visitors per capita etc., which are explained by the transport costs between all i and the destination j, d_{ij}.
The non-linear modeling of transport costs is a key concept of the Huff model (see the function huff.shares
). This function estimates and compares different types of possible distance decay functions (linear, power, exponential, logistic) based on observed interaction data.
A data.frame
containing the function parameters (Intercept
, Slope
), their p values in the regression function (p Intercept
, p Slope
) and fitting measures (R-Squared
, Adj. R-Squared
). Optionally, a plot of the four estimated functions and the observed data.
Thomas Wieland
Huff, D. L. (1962): “Determination of Intra-Urban Retail Trade Areas”. Los Angeles : University of California.
Huff, D. L. (1963): “A Probabilistic Analysis of Shopping Center Trade Areas”. In: Land Economics, 39, 1, p. 81-90.
Huff, D. L. (1964): “Defining and Estimating a Trading Area”. In: Journal of Marketing, 28, 4, p. 34-38.
Isard, W. (1960): “Methods of Regional Analysis: an Introduction to Regional Science”. Cambridge.
Kanhaeusser, C. (2007): “Modellierung und Prognose von Marktgebieten am Beispiel des Moebeleinzelhandels”. In: Klein, R./Rauh, J. (eds.): Analysemethodik und Modellierung in der geographischen Handelsforschung. Geographische Handelsforschung, 13. Passau. p. 75-110.
Loeffler, G. (1998): “Market areas - a methodological reflection on their boundaries”. In: GeoJournal, 45, 4, p. 265-272.
huff.shares
, huff.attrac
, huff.fit
, mci.fit
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 42 43 44 45 46 47 48 49 | # Market area analysis based on the POS survey in shopping1 #
data(shopping1)
# The survey dataset
data(shopping2)
# Dataset with distances and travel times
shopping1_adj <- shopping1[(shopping1$weekday != 3) & (shopping1$holiday != 1)
& (shopping1$survey != "pretest"),]
# Removing every case from tuesday, holidays and the ones belonging to the pretest
ijmatrix_POS <- ijmatrix.create(shopping1_adj, "resid_code", "POS", "POS_expen")
# Creates an interaction matrix based on the observed frequencies (automatically)
# and the POS expenditures (Variable "POS_expen" separately stated)
ijmatrix_POS_data <- merge(ijmatrix_POS, shopping2, by.x="interaction", by.y="route",
all.x = TRUE)
# Adding the distances and travel times
ijmatrix_POS_data$freq_ij_abs_cor <- var.correct(ijmatrix_POS_data$freq_ij_abs,
corr.mode = "inc", incby = 0.1)
# Correcting the absolute values (frequencies) by increasing by 0.1
data(shopping3)
ijmatrix_POS_data_residdata <- merge(ijmatrix_POS_data, shopping3)
# Adding the information about the origins (places of residence) stored in shopping3
ijmatrix_POS_data_residdata$visitper1000 <- (ijmatrix_POS_data_residdata$
freq_ij_abs_cor/ijmatrix_POS_data_residdata$resid_pop2015)*1000
# Calculating the dependent variable
# visitper1000: surveyed customers per 1.000 inhabitants of the origin
ijmatrix_POS_data_residdata <-
ijmatrix_POS_data_residdata[(!is.na(ijmatrix_POS_data_residdata$
visitper1000)) & (!is.na(ijmatrix_POS_data_residdata$d_time)),]
# Removing NAs (data for some outlier origins and routes not available)
ijmatrix_POS_data_residdata_POS1 <-
ijmatrix_POS_data_residdata[ijmatrix_POS_data_residdata$POS=="POS1",]
# Dataset for POS1 (town centre)
ijmatrix_POS_data_residdata_POS2 <-
ijmatrix_POS_data_residdata[ijmatrix_POS_data_residdata$POS=="POS2",]
# Dataset for POS2 (out-of-town shopping centre)
huff.decay(ijmatrix_POS_data_residdata_POS1, "d_km", "visitper1000")
huff.decay(ijmatrix_POS_data_residdata_POS1, "d_time", "visitper1000")
huff.decay(ijmatrix_POS_data_residdata_POS2, "d_km", "visitper1000")
huff.decay(ijmatrix_POS_data_residdata_POS2, "d_time", "visitper1000")
|
Model type Intercept p Intercept Slope p Slope R-Squared Adj. R-squared
1 Linear 0.7354 2e-04 -0.0455 0.0038 0.216 0.1936
2 Power 1.9121 0.4434 -1.5267 2e-04 0.333 0.3139
3 Exponential 0.2788 0.0222 -0.1353 0.0044 0.2092 0.1866
4 Logistic 1.6999 0.0164 0.1823 0.0026 0.2311 0.2092
Model type Intercept p Intercept Slope p Slope R-Squared Adj. R-squared
1 Linear 1.2112 0 -0.0585 1e-04 0.3516 0.3331
2 Power 34.6019 0.0289 -2.2968 3e-04 0.3211 0.3017
3 Exponential 0.691 0.6322 -0.1432 0.0027 0.23 0.208
4 Logistic 0.2659 0.7795 0.2058 6e-04 0.2893 0.2689
Model type Intercept p Intercept Slope p Slope R-Squared Adj. R-squared
1 Linear 0.6734 0 -0.0316 7e-04 0.2812 0.2606
2 Power 5.7372 0.0348 -1.5978 0 0.3863 0.3688
3 Exponential 0.9161 0.8318 -0.1605 0 0.4086 0.3917
4 Logistic -0.4868 0.4212 0.2043 1e-04 0.3444 0.3256
Model type Intercept p Intercept Slope p Slope R-Squared Adj. R-squared
1 Linear 0.9353 0 -0.0411 1e-04 0.3706 0.3526
2 Power 213.9932 7e-04 -2.7363 0 0.4213 0.4048
3 Exponential 2.3946 0.14 -0.184 0 0.4191 0.4025
4 Logistic -1.8572 0.031 0.2441 0 0.3835 0.3659
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.