% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/pmm3_ts_main.R
\name{ts_pmm3}
\alias{ts_pmm3}
\title{Fit a time series model using PMM3}
\usage{
ts_pmm3(
  x,
  order,
  model_type = c("ar", "ma", "arma", "arima"),
  max_iter = 100,
  tol = 1e-06,
  adaptive = FALSE,
  step_max = 5,
  include.mean = TRUE,
  initial = NULL,
  na.action = na.fail,
  verbose = FALSE
)
}
\arguments{
\item{x}{Numeric vector of time series data}

\item{order}{Model order specification (see \code{\link{ts_pmm2}} for format)}

\item{model_type}{Character: "ar", "ma", "arma", or "arima"}

\item{max_iter}{Integer: maximum NR iterations (default 100)}

\item{tol}{Numeric: convergence tolerance (default 1e-6)}

\item{adaptive}{Logical: re-estimate kappa each iteration (default FALSE)}

\item{step_max}{Numeric: maximum NR step size (default 5.0)}

\item{include.mean}{Logical: include mean/intercept term (default TRUE)}

\item{initial}{Optional initial parameter estimates}

\item{na.action}{Function for handling missing values (default na.fail)}

\item{verbose}{Logical: print progress information (default FALSE)}
}
\value{
An S4 object of the appropriate TS3fit subclass
}
\description{
Core function that fits AR, MA, ARMA, or ARIMA models using the
Polynomial Maximization Method of order 3 (PMM3). Designed for
symmetric platykurtic innovations.
}
\details{
The PMM3 time series algorithm:
\enumerate{
\item Obtains initial estimates via classical methods (OLS/YW for AR, CSS for MA/ARMA/ARIMA)
\item Computes moments m2, m4, m6 and kappa from initial residuals
\item Checks symmetry: warns if |gamma3| > 0.3
\item Applies Newton-Raphson with PMM3 score equations
}

PMM3 is beneficial when innovations are symmetric and platykurtic
(gamma4 < 0), e.g. uniform, truncated normal.
}
