MyNixOS website logo
Description

Ordinary Functional Kriging Using Fourier Smoothing and Gaussian Quadrature.

Implementation of the ordinary functional kriging method proposed by Giraldo (2011) <doi:10.1007/s10651-010-0143-y>. This implements an alternative method to estimate the trace-variogram using Fourier Smoothing and Gaussian Quadrature.

geoFourierFDA

In this paper, we have observsed n curves χs1(t), …, χsn(t) in a region, where si = (θi, ηi), i = 1, …, n, and θi is the latitude and ηi is the longitude where the curve χsi was sampled. The goal of this package is to estimate an unsampled curve χs0(t) at s0 ∉ {s1, …, sn}. The Ideia proposed by Giraldo (2011) was simple: the curve χs0(t) is a linear combination of all curves χs1(t), …, χsn(t), i.e., $\widehat{\chi_{\mathbf{s}_0}}(t) = \lambda_1 \chi_{\mathbf{s}_1}(t) + \lambda_2 \chi_{\mathbf{s}_2}(t) + \dots + \lambda_n \chi_{\mathbf{s}_1}(t)$ where λ1, …, λn is solution of the linear system given by

where μ is an constant from the method of Lagrange’s multipliers and the function γ(h) = ∫γ(h; t)d**t is called the trace-variogram, where, for each t, γ(h; t) is the semivariogram for the process χs1(t), …, χsn(t). More precisely, for each t, a weakly and isotropic spatial process is assumed for χs1(t), …, χsn(t) and the integration of the semivariogram is carried out. Usually, the integration in the equation (1) is approximated using a modified version of the empirical semivariogram. In this pcackage, we have used the Legendre-Gauss quadrature, which is simple and it explicitly used the definition of the semivariogram.

Installation

This package can be installed using the devtools package.

devtools::install_github("gilberto-sassi/geoFourierFDA")

Examples

In this package, we have used the temperature dataset present in the package fda and in the package geofd. This dataset has temperature measurements from 35 weather stations from Canada. This data can be downloaded at weather.gov.ca. For illustration, we have separated the time series at The Pas station and used all others stations to estimate the curve temperature at The Pas.

How to interpolate a curve at an unmonitored location

# interpolating curve at Halifax using all remaining curves in the functional dataset
data(canada)

# Estimating the temperature at The Pas
geo_fda(canada$m_data, canada$m_coord, canada$ThePas_coord)

Coefficients of smoothing using Fourier series polynomial

# Coefficients of smoothing using Fourier series polynomial
# Coefficients of smoothing at The Pas
data(canada)

coefs <- coef_fourier(canada$ThePas_ts)

Smoothed curve using Fourier series

# Coefficients of smoothing using Fourier series polynomial
# Coefficients of smoothing at The Pas
data(canada)


# coefficients of Fourier series polynomial
coefs <- coef_fourier(canada$ThePas_ts, m)

# points to evaluate curve at interval [-pi, pi]
x <- seq(from = -pi, to = pi, by = 0.01)

# smoothed curve at some points x
y_est <- fourier_b(coefs, x)

References

Giraldo, R, P Delicado, and J Mateu. 2011. “Ordinary Kriging for Function-Valued Spatial Data.” Environmental and Ecological Statistics 18 (3): 411–26.

Metadata

Version

0.1.0

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows