Learn R Programming

capn (version 1.0.0)

paprox: Calculating P-approximation coefficients

Description

The function provides the P-approximation coefficients of the defined Chebyshev polynomials in aproxdef. For now, only unidimensional case is developed.

Usage

paprox(aproxspace, stock, sdot, dsdotds, dwds)

Arguments

aproxspace

An approximation space defined by aproxdef function

stock

An array of stock, \(s\)

sdot

An array of ds/dt, \(\dot{s}=\frac{ds}{dt}\)

dsdotds

An array of d(sdot)/ds, \(\frac{d \dot{s}}{d s}\)

dwds

An array of dw/ds, \(\frac{dW}{ds}\)

Value

A list of approximation resuts: deg, lb, ub, delta, and coefficients. Use results$item (or results[["item"]]) to import each result item.

degree

degree of Chebyshev polynomial

lowerB

lower bound of Chebyshev nodes

upperB

upper bound of Chebyshev nodes

delta

discount rate

coefficient

Chebyshev polynomial coefficients

Details

The P-approximation is finding the shadow price of a stock, \(p\) from the relation:

\(p(s) = \frac{W_{s}(s) + \dot{p}(s)}{\delta - \dot{s}_{s}}\),

where \(W_{s} = \frac{dW}{ds}\), \( \dot{p}(s) = \frac{dp}{ds}\), \(\dot{s}_{s} = \frac{d\dot{s}}{ds} \), and \(\delta\) is the given discount rate.

Consider approximation \(p(s) = \mathbf{\mu}(s)\mathbf{\beta}\), \(\mathbf{\mu}(s)\) is Chebyshev polynomials and \(\mathbf{\beta}\) is their coeffcients. Then, \(\dot{p} = diag (\dot{s}) \mathbf{\mu}_{s}(s)\mathbf{\beta}\) by the orthogonality of Chebyshev basis. Adopting the properties above, we can get the unknown coefficient vector \(\beta\) from:

\(\mathbf{\mu}\mathbf{\beta} = diag \left( \delta - \dot{s}_{s} \right)^{-1} \left( W_{s} + diag (\dot{s}) \mathbf{\mu}_{s} \mathbf{\beta} \right) \), and thus,

\(\mathbf{\beta} = \left( diag \left( \delta - \dot{s}_{s} \right) \mathbf{\mu} - diag (\dot{s}) \mathbf{\mu}_{s} \right)^{-1} W_{s} \).

In a case of over-determined (more nodes than approaximation degrees),

\(\left( \left( diag \left( \delta - \dot{s}_{s} \right) \mathbf{\mu} - diag (\dot{s}) \mathbf{\mu}_{s} \right)^{T} \left( diag \left( \delta - \dot{s}_{s} \right) \mathbf{\mu} - diag (\dot{s}) \mathbf{\mu}_{s} \right) \right)^{-1} \left( diag \left( \delta - \dot{s}_{s} \right) \mathbf{\mu} - diag (\dot{s}) \mathbf{\mu}_{s} \right)^{T} W_{s}\)

For more detils see Fenichel et al. (2016).

References

Fenichel, Eli P. and Joshua K. Abbott. (2014) "Natural Capital: From Metaphor to Measurement." Journal of the Association of Environmental Economists. 1(1/2):1-27. Fenichel, Eli P., Joshua K. Abbott, Jude Bayham, Whitney Boone, Erin M. K. Haacker, and Lisa Pfeiffer. (2016) "Measuring the Value of Groundwater and Other Forms of Natural Capital." Proceedings of the National Academy of Sciences .113:2382-2387.

See Also

aproxdef,psim

Examples

Run this code
## 1-D Reef-fish example: see Fenichel and Abbott (2014)
data("GOM")
nodes <- chebnodegen(param$nodes,param$lowerK,param$upperK)
simuDataP <- cbind(nodes,sdot(nodes,param),
                   dsdotds(nodes,param),dwds(nodes,param))
Aspace <- aproxdef(param$order,param$lowerK,param$upperK,param$delta)
pC <- paprox(Aspace,simuDataP[,1],simuDataP[,2],
             simuDataP[,3],simuDataP[,4])

Run the code above in your browser using DataLab