//
// OpenForecast - open source, general-purpose forecasting package.
// Copyright (C) 2002-2011 Steven R. Gould
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
package net.sourceforge.openforecast.models;
/**
* A naive forecasting model is a special case of the moving average
* forecasting model where the number of periods used for smoothing is 1.
* Therefore, the forecast for a period, t, is simply the observed value
* for the previous period, t-1.
*
* Due to the simplistic nature of the naive forecasting model, it can only
* be used to forecast up to one period in the future. It is not at all useful
* as a medium-long range forecasting tool.
*
*
This model really is a simplistic model, and is included partly
* for completeness and partly because of its simplicity. It is unlikely that
* you'll want to use this model directly. Instead, consider using either the
* moving average model, or the more general weighted moving average model
* with a higher (i.e. greater than 1) number of periods, and possibly a
* different set of weights.
* @author Steven R. Gould
* @since 0.3
*/
public class NaiveForecastingModel extends MovingAverageModel
{
/**
* Constructs a new naive forecasting model. For a valid model to be
* constructed, you should call init and pass in a data set containing a
* series of data points with the time variable initialized to identify
* the independent variable.
*/
public NaiveForecastingModel()
{
super( 1 );
}
/**
* Constructs a new naive forecasting model, using the given name as the
* independent variable.
* @param independentVariable the name of the independent variable to use
* in this model.
* @deprecated As of 0.4, replaced by {@link #NaiveForecastingModel}.
*/
public NaiveForecastingModel( String independentVariable )
{
super( independentVariable, 1 );
}
/**
* Returns a one or two word name of this type of forecasting model. Keep
* this short. A longer description should be implemented in the toString
* method.
* @return a string representation of the type of forecasting model
* implemented.
*/
public String getForecastType()
{
return "Naive forecast";
}
/**
* This should be overridden to provide a textual description of the
* current forecasting model including, where possible, any derived
* parameters used.
* @return a string representation of the current forecast model, and its
* parameters.
*/
public String toString()
{
return
"Naive forecasting model (i.e. moving average with a period of 1)"
+ ", using an independent variable of " + getIndependentVariable()
+ ".";
}
}
// Local Variables:
// tab-width: 4
// End:
Ads help maintain this website.