def METHOD_NAME(self, data: ProphetDataEntry, params: dict) -> np.ndarray:
    """
    Construct and run a :class:`Prophet` model on the given
    :class:`ProphetDataEntry` and return the resulting array of samples.
    """
    prophet = self.init_model(Prophet(**params))
    # Register dynamic features as regressors to the model
    for i in range(len(data.feat_dynamic_real)):
        prophet.add_regressor(feat_name(i))
    prophet.fit(data.prophet_training_data)
    future_df = prophet.make_future_dataframe(
        periods=self.prediction_length,
        freq=data.freq,
        include_history=False,
    )
    # Add dynamic features in the prediction range
    for i, feature in enumerate(data.feat_dynamic_real):
        future_df[feat_name(i)] = feature[data.train_length :]
    prophet_result = prophet.predictive_samples(future_df)
    return prophet_result["yhat"].T