package response

type StlPreviewResp struct {
	OriginEdbInfo     ChartEdbInfo
	TrendChartInfo    ChartEdbInfo
	SeasonalChartInfo ChartEdbInfo
	ResidualChartInfo ChartEdbInfo
	EvaluationResult  EvaluationResult
}

type ChartEdbInfo struct {
	EdbInfoId    int
	Title        string
	Unit         string
	Frequency    string
	MaxData      float64
	MinData      float64
	ClassifyId   int
	ClassifyPath string
	DataList     []*EdbData
}

type EvaluationResult struct {
	Mean           string `description:"均值"`
	Std            string `description:"标准差"`
	AdfPValue      string `description:"ADF检验p值"`
	LjungBoxPValue string `description:"Ljung-Box检验p值"`
}

type EdbData struct {
	Value         float64
	DataTime      string
	DataTimestamp int64
}

type SaveStlConfigResp struct {
	CalculateStlConfigId int64 `description:"配置文件id"`
}

type StlConfigResp struct {
	EdbInfoId            int     `description:"指标ID"`
	EdbInfoName          string  `description:"指标名称"`
	CalculateStlConfigId int     `description:"计算的STL配置ID"`
	DataRangeType        int     `description:"数据时间类型:1-全部时间,2-最近N年,3-区间设置,4-区间设置(至今)"`
	StartDate            string  `description:"开始日期"`
	EndDate              string  `description:"结束日期"`
	LastNYear            string  `description:"最近N年"`
	Period               int     `description:"数据的周期,根据频率设置"`
	Seasonal             int     `description:"季节性成分窗口大小,一般为period+1,可以设置为大于period的正奇数"`
	Trend                int     `description:"趋势成分窗口大小,一般为period+1,可以设置为大于period的正奇数"`
	Fraction             float64 `description:"趋势项的平滑系数,默认为0.2,区间为[0-1]"`
	Robust               bool    `description:"是否使用稳健方法: true(使用) false(不使用)  "`
	TrendDeg             int     `description:"分解中趋势多项式次数,默认为1,不超过5的正整数"`
	SeasonalDeg          int     `description:"分解中季节性多项次数,默认为1,不超过5的正整数"`
	LowPassDeg           int     `description:"分解中低通滤波器次数,默认为1,不超过5的正整数"`
}

type SaveStlEdbInfoResp struct {
	EdbInfoId int `description:"指标ID"`
}