fit.gsvcm: Fitting generalized regression models

Description Usage Arguments Details Value Examples

View source: R/fit.gsvcm.R

Description

fit.gsvcm fits the generalized spatially varying coeffcient models.

Usage

1
2
3
fit.gsvcm(y, X, S, V, Tr, d = 2, r = 1, lambda = 10^seq(-6, 6, by =
  0.5), family, off = 0, r.theta = c(2, 8), eps.sigma = 0.01,
  method = "GSVCM", Cp = TRUE)

Arguments

y

The response of dimension n by one, where n is the number of observations.

X

The design matrix of dimension n by p, with an intercept. Each row is an observation vector.

S

The cooridinates of dimension n by two. Each row is the coordinates of an observation.

V

The N by two matrix of vertices of a triangulation, where N is the number of vertices. Each row is the coordinates for a vertex.

Tr

The triangulation matrix of dimention nT by three, where nT is the number of triangles in the triangulation. Each row is the indices of vertices in V.

d

The degree of piecewise polynomials – default is 2.

r

The smoothness parameter – default is 1, and 0 r < d.

lambda

The vector of the candidates of penalty parameter – default is grid points of 10 to the power of a sequence from -6 to 6 by 0.5.

family

The family object, specifying the distribution and link to use.

off

offset – default is 0.

r.theta

The endpoints of an interval to search for an additional parameter theta for negative binomial scenario – default is c(2,8).

eps.sigma

Error tolerance for the Pearson estimate of the scale parameter, which is as close as possible to 1, when estimating an additional parameter theta for negative binomial scenario – default is 0.01.

method

GSVCM or GSVCMQR. GSVCM is based on Algorithm 1 in Subsection 3.1 and GSVCMQR is based on Algorithm 2 in Subsection 3.2 – default is GSVCM.

Cp

TRUE or FALSE. There are two modified measures based on the QRGSVCM method for smoothness parameters in the manuscript. TRUE is for Cp measure and FALSE is for GCV measure.

Details

This R package is the implementation program for manuscript entitled "Generalized Spatially Varying Coefficinet Models" by Myungjin Kim and Li Wang.

Value

The function returns an object with S3 class "gsvcm" with the following items:

beta

The estimated coefficient functions.

theta_hat

The estimated spline coefficient functions.

lambdac

Selected tuning (penalty) parameter for bivariate penalized spline based on GCV.

gcv

Generalized cross-validation (GCV).

df

Effective degree of freedom.

theta

The estimated additional parameter for a negative binomial random component.

V

The N by two matrix of vertices of a triangulation, where N is the number of vertices. Each row is the coordinates for a vertex.

Tr

The triangulation matrix of dimention nT by three, where nT is the number of triangles in the triangulation. Each row is the indices of vertices in V.

d

The degree of piecewise polynomials

r

The smoothness parameter

B

The spline basis function of dimension n by nT*{(d+1)(d+2)/2}, where n is the number of observationed points, nT is the number of triangles in the given triangulation, and d is the degree of the spline. The length of points means the length of ordering indices of observation points. If some points do not fall in the triangulation, the generation of the spline basis will not take those points into consideration.

Q2

The Q2 matrix after QR decomposition of the smoothness matrix H.

K

The thin-plate energy function.

ind.inside

A vector contains the indexes of all the points which are inside the triangulation.

tria.all

The area of each triangle within the given triangulation.

X

The design matrix of dimension n by p, with an intercept. Each row is an observation vector.

y

The response of dimension n by one, where n is the number of observations.

S

The cooridinates of dimension n by two. Each row is the coordinates of an observation.

family

The family object


Examples

 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
family=poisson()
ngrid = 0.05

# Data generation:
all_pop = as.matrix(Datagenerator(family, ngrid))
pop.r=all_pop[!is.na(all_pop[,'m1']),]
N=nrow(pop.r)

# Triangulations and setup:
Tr = Tr0_horse; V = V0_horse; n = 1000; d = 2; r = 1

# set up for smoothing parameters in the penalty term:
lambda_start=0.0001; lambda_end=10; nlambda=10
lambda=exp(seq(log(lambda_start),log(lambda_end),length.out=nlambda))

# Generate Sample:
ind.s=sample(N,n,replace=FALSE)
data=as.matrix(pop.r[ind.s,])
y=data[,1]; beta0=data[,c(2:3)]; X=data[,c(4:5)]; S=data[,c(6:7)]

# Fit the model:
mfit0 = fit.gsvcm(y, X, S, V, Tr, d, r, lambda, family)

# Prediction:
y_hat = predict(mfit0, X, S)

# 10 Crossvalidation:
MSPE = cv.gsvcm(y, X, S, V, Tr, d = d, r = r, lambda, family, off = 0,  r.theta = c(4, 8), nfold = 10)

# GQLR Test:
test.gsvcm(y, X, S, V, Tr, d, r, lambda, test_iter = 1, family = family, nB = 20)

funstatpackages/gsvcm documentation built on May 9, 2020, 12:46 a.m.