void WP::mle() {
   double old_loglike = loglike(
       concatenate_params(average_daily_rate(), day_of_week_pattern(),
                          weekday_hourly_pattern(), weekend_hourly_pattern()));
   double dloglike = 1.0;
   while (dloglike > 1e-5) {
     maximize_average_daily_rate();
     maximize_daily_pattern();
     maximize_hourly_pattern();
     double new_loglike = loglike(concatenate_params(
         average_daily_rate(), day_of_week_pattern(), weekday_hourly_pattern(),
         weekend_hourly_pattern()));
     dloglike = new_loglike - old_loglike;
     old_loglike = new_loglike;
   }
 }
Пример #2
0
 double WP::event_rate(const DayNames day, int hour)const{
   return average_daily_rate() *
       day_of_week_pattern()[day] *
       hourly_pattern(day)[hour];
 }