Module: schema.processors.model_fit_processor

Meridian module for analyzing model fit in a Meridian model.

This module provides a ModelFitProcessor , which assesses the goodness of fit of a trained Meridian model. It compares the model's predictions against the actual observed data, generating key performance metrics.

Key metrics generated include R-squared, MAPE, and Weighted MAPE. The output also includes timeseries data of actual values versus predicted values (with confidence intervals) and the predicted baseline.

The results are structured into a ModelFit protobuf message.

Key Classes:

  • ModelFitSpec : Dataclass to specify parameters for the model fit analysis, such as whether to split by train/test sets and the confidence level for intervals.
  • ModelFitProcessor : The processor class that performs the fit analysis.

Example Usage:

  from 
  
 schema.processors 
  
 import 
 model_fit_processor 
 from 
  
 schema.processors 
  
 import 
 model_processor 
 # Assuming 'mmm' is a trained Meridian model object 
 trained_model 
 = 
 model_processor 
 . 
 TrainedModel 
 ( 
 mmm 
 ) 
 # Default spec: split results by train/test if holdout ID exists 
 spec 
 = 
 model_fit_processor 
 . 
 ModelFitSpec 
 () 
 processor 
 = 
 model_fit_processor 
 . 
 ModelFitProcessor 
 ( 
 trained_model 
 ) 
 # result is a model_fit_pb2.ModelFit proto 
 result 
 = 
 processor 
 . 
 execute 
 ([ 
 spec 
 ]) 
 print 
 ( 
 "Model Fit Analysis Results:" 
 ) 
 for 
 res 
 in 
 result 
 . 
 results 
 : 
 print 
 ( 
 f 
 "  Dataset: 
 { 
 res 
 . 
 name 
 } 
 " 
 ) 
 print 
 ( 
 f 
 "    R-squared: 
 { 
 res 
 . 
 performance 
 . 
 r_squared 
 : 
 .3f 
 } 
 " 
 ) 
 print 
 ( 
 f 
 "    MAPE: 
 { 
 res 
 . 
 performance 
 . 
 mape 
 : 
 .3f 
 } 
 " 
 ) 
 print 
 ( 
 f 
 "    Weighted MAPE: 
 { 
 res 
 . 
 performance 
 . 
 weighted_mape 
 : 
 .3f 
 } 
 " 
 ) 
 # Prediction data is available in res.predictions 
 # Each element in res.predictions corresponds to a time point. 
 # e.g., res.predictions[0].actual_value 
 # e.g., res.predictions[0].predicted_outcome.value 
 

Classes

class ModelFitProcessor : Generates a ModelFit proto for a given trained Meridian model.

class ModelFitSpec : Stores parameters needed for generating ModelFit protos.

Design a Mobile Site
View Site in Mobile | Classic
Share by: