51 : mean_(nbCluster), meanLog_(nbCluster)
52 , variance_(nbCluster)
57 , meanLog_(
model.meanLog_)
58 , variance_(
model.variance_) {}
64 for (
int k=
mean_.begin(); k <
mean_.end(); ++k)
66 mean_[k].resize(range) = 1.;
77 , shape_(0.), scale_(nbCluster)
78 , stat_shape_(), stat_scale_(nbCluster)
85 , shape_(param.shape_), scale_(param.scale_)
86 , stat_shape_(param.stat_shape_), stat_scale_(param.stat_scale_)
96 stat_shape_.release();
97 for (
int k = scale_.begin(); k< scale_.end(); ++k)
99 scale_[k].resize(range) = 1.;
100 stat_scale_[k].resize(range);
107 for(
int k=stat_scale_.begin(); k<stat_scale_.end(); ++k)
108 { stat_scale_[k].update(scale_[k]);}
109 stat_shape_.update(shape_);
114 for(
int k=stat_scale_.begin(); k<stat_scale_.end(); ++k)
116 scale_[k] = stat_scale_[k].mean();
117 stat_scale_[k].release();
119 shape_ = stat_shape_.mean();
120 stat_shape_.release();
125 for(
int k=stat_scale_.begin(); k<stat_scale_.end(); ++k)
126 { stat_scale_[k].release();}
127 stat_shape_.release();
135 , shape_(0.), scale_(nbCluster)
136 , stat_shape_(), stat_scale_(nbCluster)
143 , shape_(param.shape_), scale_(param.scale_)
144 , stat_shape_(param.stat_shape_), stat_scale_(param.stat_scale_)
153 stat_shape_.release();
154 for (
int k = scale_.begin(); k< scale_.end(); ++k)
161 for(
int k=stat_scale_.begin(); k<stat_scale_.end(); ++k)
162 { stat_scale_[k].update(scale_[k]);}
163 stat_shape_.update(shape_);
168 for(
int k=stat_scale_.begin(); k<stat_scale_.end(); ++k)
170 scale_[k] = stat_scale_[k].mean();
171 stat_scale_[k].release();
173 shape_ = stat_shape_.mean();
174 stat_shape_.release();
179 for(
int k=stat_scale_.begin(); k<stat_scale_.end(); ++k)
180 { stat_scale_[k].release();}
181 stat_shape_.release();
189 , shape_(), scale_(nbCluster)
190 , stat_shape_(), stat_scale_(nbCluster)
197 , shape_(param.shape_), scale_(param.scale_)
198 , stat_shape_(param.stat_shape_), stat_scale_(param.stat_scale_)
206 shape_.resize(range) = 1.;
207 stat_shape_.resize(range);
208 for (
int k = scale_.begin(); k< scale_.end(); ++k)
210 scale_[k].resize(range) = 1.;
211 stat_scale_[k].resize(range);
218 stat_shape_.release();
219 for(
int k=stat_scale_.begin(); k<stat_scale_.end(); ++k)
220 { stat_scale_[k].update(scale_[k]);}
225 shape_ = stat_shape_.mean();
226 stat_shape_.release();
227 for(
int k=stat_scale_.begin(); k<stat_scale_.end(); ++k)
229 scale_[k] = stat_scale_[k].mean();
230 stat_scale_[k].release();
236 stat_shape_.release();
237 for(
int k=stat_scale_.begin(); k<stat_scale_.end(); ++k)
238 { stat_scale_[k].release();}
246 , shape_(), scale_(nbCluster)
247 , stat_shape_(nbCluster), stat_scale_(nbCluster)
254 , shape_(param.shape_), scale_(param.scale_)
255 , stat_shape_(param.stat_shape_), stat_scale_(param.stat_scale_)
263 shape_.resize(range) = 1.;
264 stat_shape_.resize(range);
265 for (
int k = scale_.begin(); k< scale_.end(); ++k)
268 stat_scale_[k].release();
275 for(
int k=stat_scale_.begin(); k<stat_scale_.end(); ++k)
276 { stat_scale_[k].update(scale_[k]);}
277 stat_shape_.update(shape_);
282 for(
int k=stat_scale_.begin(); k<stat_scale_.end(); ++k)
284 scale_[k] = stat_scale_[k].mean();
285 stat_scale_[k].release();
287 shape_ = stat_shape_.mean();
288 stat_shape_.release();
293 for(
int k=stat_scale_.begin(); k<stat_scale_.end(); ++k)
294 { stat_scale_[k].release();}
295 stat_shape_.release();
303 , shape_(nbCluster), scale_()
304 , stat_shape_(nbCluster), stat_scale_()
311 , shape_(param.shape_), scale_(param.scale_)
312 , stat_shape_(param.stat_shape_), stat_scale_(param.stat_scale_)
320 for (
int k = shape_.begin(); k< shape_.end(); ++k)
322 shape_[k].resize(range) = 1.;
323 stat_shape_[k].resize(range);
326 stat_scale_.release();
331 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
332 { stat_shape_[k].update(shape_[k]);}
333 stat_scale_.update(scale_);
338 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
340 shape_[k] = stat_shape_[k].mean();
341 stat_shape_[k].release();
343 scale_ = stat_scale_.mean();
344 stat_scale_.release();
349 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
350 { stat_shape_[k].release();}
351 stat_scale_.release();
359 , shape_(nbCluster), scale_()
360 , stat_shape_(nbCluster), stat_scale_(nbCluster)
367 , shape_(param.shape_), scale_(param.scale_)
368 , stat_shape_(param.stat_shape_), stat_scale_(param.stat_scale_)
376 scale_.resize(range) = 1.;
377 stat_scale_.resize(range);
378 for (
int k = shape_.begin(); k< shape_.end(); ++k)
380 shape_[k].resize(range) = 1.;
381 stat_shape_[k].resize(range);
387 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
388 { stat_shape_[k].update(shape_[k]);}
389 stat_scale_.update(scale_);
394 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
396 shape_[k] = stat_shape_[k].mean();
397 stat_shape_[k].release();
399 scale_ = stat_scale_.mean();
400 stat_scale_.release();
405 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
406 { stat_shape_[k].release();}
407 stat_scale_.release();
416 , shape_(nbCluster), scale_(nbCluster)
417 , stat_shape_(nbCluster), stat_scale_(nbCluster)
424 , shape_(param.shape_), scale_(param.scale_)
425 , stat_shape_(param.stat_shape_), stat_scale_(param.stat_scale_)
434 for (
int k = shape_.begin(); k< shape_.end(); ++k)
436 shape_[k].resize(range) = 1.;
437 stat_shape_[k].resize(range);
438 scale_[k].resize(range) = 1.;
439 stat_scale_[k].resize(range);
446 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
447 { stat_shape_[k].update(shape_[k]);
448 stat_scale_[k].update(scale_[k]);
454 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
456 shape_[k] = stat_shape_[k].mean();
457 stat_shape_[k].release();
458 scale_[k] = stat_scale_[k].mean();
459 stat_scale_[k].release();
465 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
467 stat_shape_[k].release();
468 stat_scale_[k].release();
477 , shape_(nbCluster), scale_(nbCluster)
478 , stat_shape_(nbCluster), stat_scale_(nbCluster)
485 , shape_(param.shape_), scale_(param.scale_)
486 , stat_shape_(param.stat_shape_), stat_scale_(param.stat_scale_)
494 for (
int k = shape_.begin(); k< shape_.end(); ++k)
496 shape_[k].resize(range) = 1.;
497 stat_shape_[k].resize(range);
499 stat_scale_[k].release();
506 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
508 stat_shape_[k].update(shape_[k]);
509 stat_scale_[k].update(scale_[k]);
515 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
517 shape_[k] = stat_shape_[k].mean();
518 stat_shape_[k].release();
519 scale_[k] = stat_scale_[k].mean();
520 stat_scale_[k].release();
526 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
528 stat_shape_[k].release();
529 stat_scale_[k].release();
538 , shape_(nbCluster), scale_()
539 , stat_shape_(nbCluster), stat_scale_()
546 , shape_(param.shape_), scale_(param.scale_)
547 , stat_shape_(param.stat_shape_), stat_scale_(param.stat_scale_)
556 stat_scale_.release();
557 for (
int k = shape_.begin(); k< shape_.end(); ++k)
560 stat_shape_[k].release();
567 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
568 { stat_shape_[k].update(shape_[k]);}
569 stat_scale_.update(scale_);
574 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
576 shape_[k] = stat_shape_[k].mean();
577 stat_shape_[k].release();
579 scale_ = stat_scale_.mean();
580 stat_scale_.release();
585 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
586 { stat_shape_[k].release();}
587 stat_scale_.release();
595 , shape_(nbCluster), scale_()
596 , stat_shape_(nbCluster), stat_scale_(nbCluster)
603 , shape_(param.shape_), scale_(param.scale_)
604 , stat_shape_(param.stat_shape_), stat_scale_(param.stat_scale_)
612 for (
int k = shape_.begin(); k< shape_.end(); ++k)
615 stat_shape_[k].release();
617 scale_.resize(range) = 1.;
618 stat_scale_.resize(range);
624 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
625 { stat_shape_[k].update(shape_[k]);}
626 stat_scale_.update(scale_);
631 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
633 shape_[k] = stat_shape_[k].mean();
634 stat_shape_[k].release();
636 scale_ = stat_scale_.mean();
637 stat_scale_.release();
642 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
643 { stat_shape_[k].release();}
644 stat_scale_.release();
652 , shape_(nbCluster), scale_(nbCluster)
653 , stat_shape_(nbCluster), stat_scale_(nbCluster)
660 , shape_(param.shape_), scale_(param.scale_)
661 , stat_shape_(param.stat_shape_), stat_scale_(param.stat_scale_)
669 for (
int k = shape_.begin(); k< shape_.end(); ++k)
672 stat_shape_[k].release();
673 scale_[k].resize(range) = 1.;
674 stat_scale_[k].resize(range);
680 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
681 { stat_shape_[k].update(shape_[k]);
682 stat_scale_[k].update(scale_[k]);
688 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
690 shape_[k] = stat_shape_[k].mean();
691 stat_shape_[k].release();
692 scale_[k] = stat_scale_[k].mean();
693 stat_scale_[k].release();
699 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
701 stat_shape_[k].release();
702 stat_scale_[k].release();
712 , shape_(nbCluster), scale_(nbCluster)
713 , stat_shape_(nbCluster), stat_scale_(nbCluster)
720 , shape_(param.shape_), scale_(param.scale_)
721 , stat_shape_(param.stat_shape_), stat_scale_(param.stat_scale_)
729 for (
int k = shape_.begin(); k< shape_.end(); ++k)
732 stat_shape_[k].release();
734 stat_scale_[k].release();
740 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
741 { stat_shape_[k].update(shape_[k]);
742 stat_scale_[k].update(scale_[k]);
748 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
750 shape_[k] = stat_shape_[k].mean();
751 stat_shape_[k].release();
752 scale_[k] = stat_scale_[k].mean();
753 stat_scale_[k].release();
759 for(
int k=stat_shape_.begin(); k<stat_shape_.end(); ++k)
761 stat_shape_[k].release();
762 stat_scale_[k].release();
In this file we define the Parameters classes for gamma mixture models.
The MultidimRegression class allows to regress a multidimensional output variable among a multivariat...
Index sub-vector region: Specialization when the size is unknown.
The namespace STK is the main domain space of the Statistical ToolKit project.
struct storing the parameters of the mixture.
base class of the Gamma models Parameter Handler
Array1D< CPointX > meanLog_
log-means for each class
ParametersGammaBase(int nbCluster)
default constructor
Array1D< CPointX > mean_
mean for each class
ParametersGammaBase & operator=(ParametersGammaBase const &other)
copy operator
~ParametersGammaBase()
destructor
Array1D< CPointX > variance_
variance for each class
void resize(Range const &range)