Using the moments up to a given order about one location, this function either returns the moments up to that given order about a new location as a vector or it returns a moment of a specific order defined by users (order <= maximum order of the given moments) about a new location as a single number. A generalization of using raw moments to obtain a central moment or using central moments to obtain a raw moment.
a positive integer less than the maximum order of oldMom.
oldMom: Numeric. Moments of orders 1, 2, ..., about the point oldAbout.
oldAbout: Numeric. The point about which the moments oldMom have been calculated.
newAbout: Numeric. The point about which the desired moment or moments are to be obtained.
Details
Suppose mk denotes the k-th moment of a random variable X about a point a, and mk∗
denotes the k-th moment about b. Then mk∗ may be determined from the moments m1,m2,...,mk according to the formula
mk∗=i=0∑k(a−b)imk−i
This is the formula implemented by the function momChangeAbout. It is a generalization of the well-known formulae used to change raw moments to central moments or to change central moments to raw moments. See for example Kendall and Stuart (1989), Chapter 3.
Returns
The moment of order order about the location newAbout when order is specified. The vector of moments about the location newAbout from first order up to the maximum order of the oldMom when order
takes the value "all" or is not specified.
References
Kendall, M. G. and Stuart, A. (1969). The Advanced Theory of Statistics, Volume 1, 3rd Edition. London: Charles Griffin & Company.
### Gamma distributionk <-4shape <-2old <-0new <-1sampSize <-1000000### Calculate 1st to 4th raw moments m <- numeric(k)for(i in1:k){ m[i]<- gamma(shape + i)/gamma(shape)}m
### Calculate 4th moment about new momChangeAbout(k, m, old, new)### Calculate 3rd about newmomChangeAbout(3, m, old, new)### Calculate 1st to 4th moments about newmomChangeAbout(oldMom = m, oldAbout = old, newAbout = new)momChangeAbout(order ="all", m, old, new)### Approximate kth moment about new using samplingx <- rgamma(sampSize, shape)mean((x - new)^k)