Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

MATLAB code for fitting ARMA/ARIMA models?

3,460 views
Skip to first unread message

Brian Borchers

unread,
Apr 5, 2001, 12:22:20 PM4/5/01
to
Does anyone out there have a MATLAB code for fitting ARMA models (with
specified autoregressive order p and moving average order q) to time
series data?

Michael Robbins

unread,
Apr 5, 2001, 2:25:40 PM4/5/01
to
see www.mathtools.net

Michael Robbins, CFA
Director, Debt Capital Markets
CIBC World Markets Corp., Canadian Imperial Bank of Commerce
New York, NY USA
michael...@us.cibc.com , rob...@bloomberg.net

Michael Robbins

unread,
Apr 5, 2001, 2:33:50 PM4/5/01
to
>> help stats

Statistics Toolbox.
Version 3.0 (R12) 1-Sep-2000

Distributions.
Parameter estimation.
betafit - Beta parameter estimation.
binofit - Binomial parameter estimation.
expfit - Exponential parameter estimation.
gamfit - Gamma parameter estimation.
mle - Maximum likelihood estimation (MLE).
normfit - Normal parameter estimation.
poissfit - Poisson parameter estimation.
raylfit - Rayleigh parameter estimation.
unifit - Uniform parameter estimation.
weibfit - Weibull parameter estimation.

Probability density functions (pdf).
betapdf - Beta density.
binopdf - Binomial density.
chi2pdf - Chi square density.
exppdf - Exponential density.
fpdf - F density.
gampdf - Gamma density.
geopdf - Geometric density.
hygepdf - Hypergeometric density.
lognpdf - Lognormal density.
nbinpdf - Negative binomial density.
ncfpdf - Noncentral F density.
nctpdf - Noncentral t density.
ncx2pdf - Noncentral Chi-square density.
normpdf - Normal (Gaussian) density.
pdf - Density function for a specified distribution.
poisspdf - Poisson density.
raylpdf - Rayleigh density.
tpdf - T density.
unidpdf - Discrete uniform density.
unifpdf - Uniform density.
weibpdf - Weibull density.

Cumulative Distribution functions (cdf).
betacdf - Beta cdf.
binocdf - Binomial cdf.
cdf - Specified cumulative distribution function.
chi2cdf - Chi square cdf.
expcdf - Exponential cdf.
fcdf - F cdf.
gamcdf - Gamma cdf.
geocdf - Geometric cdf.
hygecdf - Hypergeometric cdf.
logncdf - Lognormal cdf.
nbincdf - Negative binomial cdf.
ncfcdf - Noncentral F cdf.
nctcdf - Noncentral t cdf.
ncx2cdf - Noncentral Chi-square cdf.
normcdf - Normal (Gaussian) cdf.
poisscdf - Poisson cdf.
raylcdf - Rayleigh cdf.
tcdf - T cdf.
unidcdf - Discrete uniform cdf.
unifcdf - Uniform cdf.
weibcdf - Weibull cdf.

Critical Values of Distribution functions.
betainv - Beta inverse cumulative distribution function.
binoinv - Binomial inverse cumulative distribution function.
chi2inv - Chi square inverse cumulative distribution function.
expinv - Exponential inverse cumulative distribution function.
finv - F inverse cumulative distribution function.
gaminv - Gamma inverse cumulative distribution function.
geoinv - Geometric inverse cumulative distribution function.
hygeinv - Hypergeometric inverse cumulative distribution function.
icdf - Specified inverse cdf.
logninv - Lognormal inverse cumulative distribution function.
nbininv - Negative binomial inverse distribution function.
ncfinv - Noncentral F inverse cumulative distribution function.
nctinv - Noncentral t inverse cumulative distribution function.
ncx2inv - Noncentral Chi-square inverse distribution function.
norminv - Normal (Gaussian) inverse cumulative distribution function.
poissinv - Poisson inverse cumulative distribution function.
raylinv - Rayleigh inverse cumulative distribution function.
tinv - T inverse cumulative distribution function.
unidinv - Discrete uniform inverse cumulative distribution function.
unifinv - Uniform inverse cumulative distribution function.
weibinv - Weibull inverse cumulative distribution function.

Random Number Generators.
betarnd - Beta random numbers.
binornd - Binomial random numbers.
chi2rnd - Chi square random numbers.
exprnd - Exponential random numbers.
frnd - F random numbers.
gamrnd - Gamma random numbers.
geornd - Geometric random numbers.
hygernd - Hypergeometric random numbers.
lognrnd - Lognormal random numbers.
mvnrnd - Multivariate normal random numbers.
mvtrnd - Multivariate t random numbers.
nbinrnd - Negative binomial random numbers.
ncfrnd - Noncentral F random numbers.
nctrnd - Noncentral t random numbers.
ncx2rnd - Noncentral Chi-square random numbers.
normrnd - Normal (Gaussian) random numbers.
poissrnd - Poisson random numbers.
random - Random numbers from specified distribution.
raylrnd - Rayleigh random numbers.
trnd - T random numbers.
unidrnd - Discrete uniform random numbers.
unifrnd - Uniform random numbers.
weibrnd - Weibull random numbers.

Statistics.
betastat - Beta mean and variance.
binostat - Binomial mean and variance.
chi2stat - Chi square mean and variance.
expstat - Exponential mean and variance.
fstat - F mean and variance.
gamstat - Gamma mean and variance.
geostat - Geometric mean and variance.
hygestat - Hypergeometric mean and variance.
lognstat - Lognormal mean and variance.
nbinstat - Negative binomial mean and variance.
ncfstat - Noncentral F mean and variance.
nctstat - Noncentral t mean and variance.
ncx2stat - Noncentral Chi-square mean and variance.
normstat - Normal (Gaussian) mean and variance.
poisstat - Poisson mean and variance.
raylstat - Rayleigh mean and variance.
tstat - T mean and variance.
unidstat - Discrete uniform mean and variance.
unifstat - Uniform mean and variance.
weibstat - Weibull mean and variance.

Descriptive Statistics.
bootstrp - Bootstrap statistics for any function.
corrcoef - Correlation coefficient.
cov - Covariance
crosstab - Cross tabulation.
geomean - Geometric mean.
grpstats - Summary statistics by group.
harmmean - Harmonic mean.
iqr - Interquartile range.
kurtosis - Kurtosis.
mad - Median Absolute Deviation.
mean - Sample average (in matlab toolbox).
median - 50th percentile of a sample.
moment - Moments of a sample.
nanmax - Maximum ignoring NaNs.
nanmean - Mean ignoring NaNs.
nanmedian - Median ignoring NaNs.
nanmin - Minimum ignoring NaNs.
nanstd - Standard deviation ignoring NaNs.
nansum - Sum ignoring NaNs.
prctile - Percentiles.
range - Range.
skewness - Skewness.
std - Standard deviation ((in matlab toolbox).
tabulate - Frequency table.
trimmean - Trimmed mean.
var - Variance (in matlab toolbox).

Linear Models.
anova1 - One-way analysis of variance.
anova2 - Two-way analysis of variance.
anovan - n-way analysis of variance.
aoctool - Interactive tool for analysis of covariance.
dummyvar - Dummy-variable coding.
friedman - Friedman's test (nonparametric two-way anova).
glmfit - Generalized linear model fitting.
kruskalwallis - Kruskal-Wallis test (nonparametric one-way anova).
leverage - Regression diagnostic.
lscov - Least-squares estimates with known covariance matrix.
manova1 - One-way multivariate analysis of variance.
manovacluster - Draw clusters of group means for manova1.
multcompare - Multiple comparisons of means and other estimates.
polyconf - Polynomial evaluation and confidence interval estimation.
polyfit - Least-squares polynomial fitting.
polyval - Predicted values for polynomial functions.
rcoplot - Residuals case order plot.
regress - Multivariate linear regression.
regstats - Regression diagnostics.
ridge - Ridge regression.
robustfit - Robust regression model fitting.
rstool - Multidimensional response surface visualization (RSM).
stepwise - Interactive tool for stepwise regression.
x2fx - Factor settings matrix (x) to design matrix (fx).

Nonlinear Models
nlinfit - Nonlinear least-squares data fitting (Newton's method).
nlintool - Interactive graphical tool for prediction in nonlinear models.
nlpredci - Confidence intervals for prediction.
nlparci - Confidence intervals for parameters.
nnls - Non-negative least-squares.

Cluster Analysis
pdist - Pairwise distance between observations.
squareform - Square matrix formatted distance.
linkage - Hierarchical cluster information.
dendrogram - Generate dendrogram plot.
inconsistent- Inconsistent values of a cluster tree.
cophenet - Cophenetic coefficient.
cluster - Construct clusters from LINKAGE output.
clusterdata - Construct clusters from data.

Design of Experiments (DOE)
cordexch - D-optimal design (coordinate exchange algorithm).
daugment - Augment D-optimal design.
dcovary - D-optimal design with fixed covariates.
ff2n - Two-level full-factorial design.
fracfact - Two-level fractional factorial design.
fullfact - Mixed-level full-factorial design.
hadamard - Hadamard matrices (orthogonal arrays).
rowexch - D-optimal design (row exchange algorithm).

Statistical Process Control (SPC)
capable - Capability indices.
capaplot - Capability plot.
ewmaplot - Exponentially weighted moving average plot.
histfit - Histogram with superimposed normal density.
normspec - Plot normal density between specification limits.
schart - S chart for monitoring variability.
xbarplot - Xbar chart for monitoring the mean.

Principal Components Analysis
barttest - Bartlett's test for dimensionality.
pcacov - Principal components from covariance matrix.
pcares - Residuals from principal components.
princomp - Principal components analysis from raw data.

Multivariate Statistics.
classify - Linear Discriminant Analysis.
mahal - Mahalanobis distance.
manova1 - One-way multivariate analysis of variance.

Hypothesis Tests.
ranksum - Wilcoxon rank sum test (independent samples).
signrank - Wilcoxon sign rank test (paired samples).
signtest - Sign test (paired samples).
ztest - Z test.
ttest - One sample t test.
ttest2 - Two sample t test.

Distribution Testing
jbtest - Jarque-Bera test of normality
kstest - Kolmogorov-Smirnov test for one sample
kstest2 - Kolmogorov-Smirnov test for two samples
lillietest - Lilliefors test of normality

Nonparametric Testing
friedman - Friedman's test (nonparametric two-way anova).
kruskalwallis - Kruskal-Wallis test (nonparametric one-way anova).
ranksum - Wilcoxon rank sum test (independent samples).
signrank - Wilcoxon sign rank test (paired samples).
signtest - Sign test (paired samples).

Statistical Plotting.
boxplot - Boxplots of a data matrix (one per column).
cdfplot - Plot of empirical cumulative distribution function.
fsurfht - Interactive contour plot of a function.
gline - Point, drag and click line drawing on figures.
gname - Interactive point labeling in x-y plots.
gplotmatrix - Matrix of scatter plots grouped by a common variable.
gscatter - Scatter plot of two variables grouped by a third.
lsline - Add least-square fit line to scatter plot.
normplot - Normal probability plot.
qqplot - Quantile-Quantile plot.
refcurve - Reference polynomial curve.
refline - Reference line.
surfht - Interactive contour plot of a data grid.
weibplot - Weibull probability plot.

Statistics Demos.
aoctool - Interactive tool for analysis of covariance.
disttool - GUI tool for exploring probability distribution functions.
glmdemo - Generalized linear model slide show.
polytool - Interactive graph for prediction of fitted polynomials.
randtool - GUI tool for generating random numbers.
rsmdemo - Reaction simulation (DOE, RSM, nonlinear curve fitting).
robustdemo - Interactive tool to compare robust and least squares fits.

File Based I/O
tblread - Read in data in tabular format.
tblwrite - Write out data in tabular format to file.
tdfread - Read in text and numeric data from tab-delimitted file.
caseread - Read in case names.
casewrite - Write out case names to file.

Arthur Jutan

unread,
Apr 5, 2001, 3:00:26 PM4/5/01
to
see System Identification TB
-aj

Rajiv Singh

unread,
Apr 6, 2001, 8:54:46 AM4/6/01
to
Brian,
Please see "ARMAX", and "PEM" in the System Identification toolbox.

For time series, the function "PRONY" in Signal Processing toolbox, and the
function "HPRONY" (which is based on PRONY) in the HOSA (Higher Order
Spectral Analysis) toolbox can also be used.

hth,
Rajiv Singh.

"Brian Borchers" <borc...@rainbow.nmt.edu> wrote in message
news:9ai63s$1n5a$1...@newshost.nmt.edu...

Michael Robbins

unread,
Apr 6, 2001, 9:06:47 AM4/6/01
to
Hmmm. sorry. It's not here. It seems something like that should be...

Maybe TMW will make an ARMA toolbox :)

Vamshi Krishna

unread,
Aug 11, 2008, 2:32:03 AM8/11/08
to
borc...@rainbow.nmt.edu (Brian Borchers) wrote in message
<9ai63s$1n5a$1...@newshost.nmt.edu>...
Hi,

I am also working on ARIMA/ARMA,

Can you have a worked example that you did with arima,

I know a little theory on ARIMA, but I could not find these
worked problems.

Can you provide this at least one numerical example/ Flow
chart

I got your mail id from maths central mats works(forum)

I eagerly wait for response.

Thanks

T.V. Krishna

Analyst(R&D)

li Li

unread,
Oct 13, 2008, 8:05:02 AM10/13/08
to
borc...@rainbow.nmt.edu (Brian Borchers) wrote in message <9ai63s$1n5a$1...@newshost.nmt.edu>...
> Does anyone out there have a MATLAB code for fitting ARMA models (with
> specified autoregressive order p and moving average order q) to time
> series data?
> I also have a problem like this. Although I have the ARIMA model as following, I do not know how to fit it.

u=iddata(timeseries)
m = armax(u,[p q]) %ARMA(p,q)

result:
Discrete-time IDPOLY model: A(q)y(t) = C(q)e(t)
A(q) = 1 - 1.216 q^-1 + 0.7781 q^-2

C(q) = 1 - 1.362 q^-1 + 0.8845 q^-2 + 0.09506 q^-3

Estimated using ARMAX from data set z
Loss function 0.000768896 and FPE 0.00084009
Sampling interval: 1

Is there anyone have the idea how to use matlab code to fitting it?

Thanks.

Rajiv Singh

unread,
Dec 3, 2008, 6:36:50 PM12/3/08
to
ARIMA model can be created by using differenced data with ARMAX. For
example, use diff(x) rather than x as output data and then using ARMAX
command. A pole at 1 can be added to resulting model to achieve a true ARIMA
model.

m = armax(diff(x),[p,q])
m.a = conv(m.a,[1 -1]);

Rajiv

"li Li" <song...@hotmail.com> wrote in message
news:gcvdhe$1nq$1...@fred.mathworks.com...

Paul

unread,
Dec 3, 2008, 10:39:04 PM12/3/08
to
Google 'armasa delft university'

and see if this code is of any help to you.

Evan Ruzanski

unread,
Dec 23, 2009, 8:17:04 PM12/23/09
to
This is correct.

Also note that you can specify a differencing order using DIFF(X,ORDER) based on the trend (stationarity) observed in your data.

And remember too if you do forecasting this way that you have to integrate the resulting predicted time series by recursively summing the predicted values using the last observation value as your initial condition.

"Rajiv Singh" <rajiv...@msn.com> wrote in message <gh756j$4dk$1...@fred.mathworks.com>...

soleima...@gmail.com

unread,
May 6, 2020, 4:07:05 AM5/6/20
to
Did you find your answer?
0 new messages