def test_plot_parametric_model(self): dist1 = Distribution("NB", 0, 3.5, 0.3) histo1 = Simulate(dist1, 200) if DISABLE_PLOT == False: Plot(histo1) dist2 = Estimate(histo1, "NB", MinInfBound=0, InfBoundStatus="Fixed") if DISABLE_PLOT == False: Plot(dist2)
def test1(): #ORIGINAL AML stops HERE d11 = Binomial(0, 12, 0.1) d12 = Binomial(2, 13, 0.6) d13 = Binomial(3, 15, 0.9) d21 = Poisson(0, 25.0) d22 = Poisson(0, 5.0) d23 = Poisson(0, 0.2) m = _MultivariateMixture([0.1, 0.2, 0.7], [[d11, d21], [d12, d22], [d13, d23]]) print m #m2 = _MultivariateMixture("mixture_mv1.mixt") #print m2 #print "Egalite des melanges construits par liste ",\ # "de distributions et par fichiers : ", str(str(m)==str(m2)) #m = _MultivariateMixture("mixture_mv_nonparam.mixt") # print m print "Simulation de melanges multivaries : " v = m.simulate(5000) print v Plot(m, variable=1, Title="Simulated mixture") print "Estimation de melanges multivaries ", \ # "d'apres un modele initial : " m_estim_model = v.mixture_estimation(m, 100, [True, True]) extracted_mixture = m_estim_model.extract_mixture(1) extracted_mixture.old_plot(variable=1, Title="Marginal distribution") Plot(m_estim_model, variable=1, Title="Estimated mixture") print "Estimation de melanges multivaries ", \ "d'apres un nombre de composantes : " m_estim_nbcomp = v.mixture_estimation(2, 100, [True, True]) m_estim_nbcomp.plot(variable=1, Title="Estimated mixture") clust_entropy = m_estim_nbcomp.cluster_data(v, True) clust_plain = m_estim_nbcomp.cluster_data(v, False)
def test_plot_convolution(self): convol1 = Convolution("data/convolution1.conv") if DISABLE_PLOT == False: Plot(convol1.extract_elementary(1), convol1.extract_elementary(2)) histo_b2 = Histogram("data/nothofagus_antarctica_bud_2.his") histo_s2 = Histogram("data/nothofagus_antarctica_shoot_2.his") convol31 = Estimate(Shift(histo_s2, 1), "CONVOLUTION", Estimate(histo_b2, "NP"), NbIteration=100, Estimator="PenalizedLikelihood", Weight=0.5) if DISABLE_PLOT == False: Plot(convol31.extract_elementary(1))
def _test_plot_distribution_set(self): d1 = Distribution("B", 2, 18, 0.5) d2 = Distribution("NB", 10, 10, 0.5) d3 = Distribution("U", 10, 20) if DISABLE_PLOT == False: Plot(d1, d2, d3) d1.old_plot()
def test_merge_histo(self): meri1 = Histogram(get_shared_data( "meri1.his")) meri2 = Histogram(get_shared_data( "meri2.his")) meri3 = Histogram(get_shared_data( "meri3.his")) meri4 = Histogram(get_shared_data( "meri4.his")) meri5 = Histogram(get_shared_data( "meri5.his")) meri = Merge(meri1, meri2, meri3, meri4, meri5) assert meri meri_bis = meri1.merge([meri2, meri3, meri4, meri5]) assert meri_bis assert str(meri)==str(meri_bis) Plot(meri)
def test_merge(self): mixt1 = Mixture(0.6, Distribution("B", 2, 18, 0.5), 0.4, Distribution("NB", 10, 10, 0.5)) mixt_histo1 = Simulate(mixt1, 200) histo10 = mixt_histo1.extract_component(1) histo11 = mixt_histo1.extract_component(2) histo12 = Merge(histo10, histo11) assert histo12 Plot(histo12)
def test_merge_vectors(self): v1 = self.int_vector_data() b = [[2, 78, 45], [6, 2, 122], [3, 4, 31],] v2 = Vectors(b) v = Merge(v1, v2) assert v a = v1.merge([v2]) b = v2.merge([v1]) assert str(a)==str(b) assert str(a)==str(v) Plot(v)
def test(): meri1 = Histogram(get_shared_data("meri1.his")) meri2 = Histogram(get_shared_data("meri2.his")) meri3 = Histogram(get_shared_data("meri3.his")) meri4 = Histogram(get_shared_data("meri4.his")) meri5 = Histogram(get_shared_data("meri5.his")) Plot(meri1, meri2, meri3, meri4, meri5) Compare(meri1, meri2, meri3, meri4, meri5, "N") ComparisonTest("F", meri1, meri2) ComparisonTest("T", meri1, meri2) ComparisonTest("W", meri1, meri2) ComparisonTest("F", meri1, meri3) ComparisonTest("T", meri1, meri3) ComparisonTest("W", meri1, meri3) # Estimation of a mixture of two distributions assuming a first # sub-population of GUs made only of a preformed part and a second # sub-population made of both a preformed part and a neoformed part _mixt1 = Estimate(meri2, "MIXTURE", "B", "B") meri = Merge(meri1, meri2, meri3, meri4, meri5) #model selection approach: estimation of both the mixture parameters and # the number of components mixt2 = Estimate(meri, "MIXTURE", "B", "B", "B", "B", NbComponent="Estimated") mixt2 = Estimate(meri, "MIXTURE", "NB", "NB") Plot(mixt2) Plot(ExtractDistribution(mixt2, "Mixture")) print type(ExtractDistribution(mixt2, "Component", 1)) Plot(ExtractDistribution(mixt2, "Component", 1), ExtractDistribution(mixt2, "Component", 2)) Display(mixt2) _mixt_data = ExtractData(mixt2) dist5 = Estimate(meri5, "BINOMIAL") Display(dist5, Detail=2) Plot(dist5) histo5 = Simulate(dist5, 100) Display(histo5, Detail=2) Plot(histo5) peup1 = Histogram(get_shared_data("peup1.his")) peup2 = Histogram(get_shared_data("peup2.his")) peup3 = Histogram(get_shared_data("peup3.his")) peup4 = Histogram(get_shared_data("peup4.his")) peup5 = Histogram(get_shared_data("peup5.his")) peup6 = Histogram(get_shared_data("peup6.his")) _mixt10 = Estimate(peup2, "MIXTURE", "B", "NB", "NB", "NB", NbComponent="Estimated") peup = Merge(peup1, peup2, peup3, peup4, peup5, peup6) _histo1 = Shift(peup, -1) _histo2 = Cluster(peup, "Information", 0.8) _histo3 = Cluster(peup, "Step", 10) histo4 = Cluster(peup, "Limit", [13, 24]) Display(histo4, Detail=2) Plot(histo4) _mixt11 = Estimate(peup, "MIXTURE", "B", "NB", "NB", "NB", NbComponent="Estimated") _mixt11 = Estimate(peup, "MIXTURE", "B", "NB")
def test_output_plot_viewpoint_survival(): d1 = Distribution("B", 2, 19, 0.5) Plot(d1) Plot(d1, ViewPoint='Survival')
def test(): vec10 = Vectors("data/chene_sessile.vec") Plot(vec10) # plot of the pointwise averages Plot(Regression(vec10, "MovingAverage", 1, 2, [1])) vec95 = ValueSelect(vec10, 1, 1995) vec96 = ValueSelect(vec10, 1, 1996) vec97 = ValueSelect(vec10, 1, 1997) VarianceAnalysis(vec10, 1, 2, "N") Compare(ExtractHistogram(vec95, 2), ExtractHistogram(vec96, 2), \ ExtractHistogram(vec95, 2), "N") Plot(ExtractHistogram(vec95, 2), ExtractHistogram(vec96, 2), \ ExtractHistogram(vec97, 2)) ContingencyTable(vec10, 1, 4) # one-way variance analysis based on ranks VarianceAnalysis(vec10, 1, 4, "O") Compare(ExtractHistogram(vec95, 4), ExtractHistogram(vec96, 4), \ ExtractHistogram(vec95, 4), "O") # looks like it is not plotted Plot(ExtractHistogram(vec95, 4), ExtractHistogram(vec96, 4), ExtractHistogram(vec97, 4)) Plot(ExtractHistogram(vec95, 5), ExtractHistogram(vec96, 5), ExtractHistogram(vec97, 5)) Plot(ExtractHistogram(vec95, 6), ExtractHistogram(vec96, 6), ExtractHistogram(vec97, 6)) vec11 = ValueSelect(vec10, 4, 1) vec12 = ValueSelect(vec10, 4, 2) vec13 = ValueSelect(vec10, 4, 3, 4) Plot(ExtractHistogram(vec11, 2), ExtractHistogram(vec12, 2), ExtractHistogram(vec13, 2)) Plot(ExtractHistogram(vec11, 5), ExtractHistogram(vec12, 5), ExtractHistogram(vec13, 5)) mixt20 = Estimate(ExtractHistogram(vec10, 2), \ "MIXTURE", "NB", "NB", "NB", "NB", \ NbComponent="Estimated") Display(mixt20) Plot(mixt20) Plot(ExtractDistribution(mixt20, "Mixture")) _mixt21 = Estimate(ExtractHistogram(vec10, 5), \ "MIXTURE", "NB", "NB", "NB", "NB", \ NbComponent="Estimated") vec9596 = ValueSelect(vec10, 1, 1995, 1996) Plot(ExtractHistogram(ValueSelect(vec9596, 4, 1), 6), \ ExtractHistogram(ValueSelect(vec9596, 4, 2), 6), \ ExtractHistogram(ValueSelect(vec9596, 4, 3, 4), 6)) # linear regression regress10 = Regression(vec10, "Linear", 5, 2) Display(regress10) Plot(regress10) # nonparametric regression (loess smoother) _regress11 = Regression(vec10, "NearestNeighbors", 5, 2, 0.3) _regress12 = Regression(vec9596, "Linear", 5, 6) _regress13 = Regression(vec9596, "NearestNeighbors", 5, 6, 0.5) _vec15 = SelectVariable(vec10, [1, 3, 6], Mode="Reject")
def test(): """Mixture tests from exploratory.aml # # Frequency distributions # # Objective: Analyzing the number of nodes of growth units in selected architectural # position considering the respective roles of preformation and neoformation, # # Methods: comparison tests, one-way variance analysis, # estimation of finite mixture of distributions. # # Wild cherry tree: number of nodes per growth unit (GU) # # Data: Dominique Fournier # # meri1.his: order 1, # meri1.his: order 2, # meri1.his: order 3, GU 1, # meri1.his: order 3, GU 2, # meri5.his: short shoots. # # # Poplar: number of nodes per growth unit # # Data: Yves Caraglio and Herve Rey # # peup1.his: order 2, # peup2.his: order 3, # peup3.his: order 4, # peup4.his: order 5, # peup5.his: order 3, GU 4, # peup6.his: order 3, acrotony. # ######################################################################### """ plot.DISABLE_PLOT = DISABLE_PLOT meri1 = Histogram(get_shared_data("meri1.his")) meri2 = Histogram(get_shared_data("meri2.his")) meri3 = Histogram(get_shared_data("meri3.his")) meri4 = Histogram(get_shared_data("meri4.his")) meri5 = Histogram(get_shared_data("meri5.his")) Plot(meri1, meri2, meri3, meri4, meri5) Compare(meri1, meri2, meri3, meri4, meri5, "N") ComparisonTest("F", meri1, meri2) ComparisonTest("T", meri1, meri2) ComparisonTest("W", meri1, meri2) ComparisonTest("F", meri1, meri3) ComparisonTest("T", meri1, meri3) ComparisonTest("W", meri1, meri3) # Estimation of a mixture of two distributions assuming a first # sub-population of GUs made only of a preformed part and a second # sub-population made of both a preformed part and a neoformed part _mixt1 = Estimate(meri2, "MIXTURE", "B", "B") meri = Merge(meri1, meri2, meri3, meri4, meri5) # model selection approach: estimation of both the mixture parameters and # the number of components""" mixt2 = Estimate(meri, "MIXTURE", "B", "B", "B", "B", NbComponent="Estimated") mixt2 = Estimate(meri, "MIXTURE", "NB", "NB") Plot(mixt2) Plot(ExtractDistribution(mixt2, "Mixture")) Plot(ExtractDistribution(mixt2, "Component", 1), ExtractDistribution(mixt2, "Component", 2)) Display(mixt2) _mixt_data = ExtractData(mixt2) dist5 = Estimate(meri5, "BINOMIAL") Display(dist5, Detail=2) Plot(dist5) histo5 = Simulate(dist5, 100) Display(histo5, Detail=2) Plot(histo5) peup1 = Histogram(get_shared_data("peup1.his")) peup2 = Histogram(get_shared_data("peup2.his")) peup3 = Histogram(get_shared_data("peup3.his")) peup4 = Histogram(get_shared_data("peup4.his")) peup5 = Histogram(get_shared_data("peup5.his")) peup6 = Histogram(get_shared_data("peup6.his")) _mixt10 = Estimate(peup2, "MIXTURE", "B", "NB", "NB", "NB", NbComponent="Estimated") peup = Merge(peup1, peup2, peup3, peup4, peup5, peup6) _histo1 = Shift(peup, -1) _histo2 = Cluster(peup, "Information", 0.8) _histo3 = Cluster(peup, "Step", 10) histo4 = Cluster(peup, "Limit", [13, 24]) Display(histo4, Detail=2) Plot(histo4) _mixt11 = Estimate(peup, "MIXTURE", "B", "NB", "NB", "NB", NbComponent="Estimated") _mixt11 = Estimate(peup, "MIXTURE", "B", "NB")
def test2(): """finite mixture of discrete distributions""" mixt1 = Mixture("data//mixture1.mixt") mixt1 = Mixture(0.6, Distribution("B", 2, 18, 0.5), 0.4, Distribution("NB", 10, 10, 0.5)) mixt_histo1 = Simulate(mixt1, 200) Plot(mixt_histo1) # extraction of histograms/frequency distributions corresponding # to a given mixture component # (i.e. elementary distributions which are combined by mixture) histo10 = ExtractHistogram(mixt_histo1, "Component", 1) histo11 = ExtractHistogram(mixt_histo1, "Component", 2) _histo12 = Merge(histo10, histo11) _histo13 = ExtractHistogram(mixt_histo1, "Weight") # estimation mixt2 = Estimate(mixt_histo1, "MIXTURE", "B", "NB", MinInfBound=0, InfBoundStatus="Fixed", DistInfBoundStatus="Fixed") _mixt_histo2 = ExtractData(mixt2) _histo14 = ExtractHistogram(ExtractData(mixt2), "Component", 1) _histo15 = ToHistogram(ExtractDistribution(mixt2, "Component", 1)) # estimation and selection of the number of components meri1 = Histogram(get_shared_data("meri1.his")) meri2 = Histogram(get_shared_data("meri2.his")) meri3 = Histogram(get_shared_data("meri3.his")) meri4 = Histogram(get_shared_data("meri4.his")) meri5 = Histogram(get_shared_data("meri5.his")) #mixt3 = Estimate(meri1, "MIXTURE", Distribution("B", 6, 7, 0.5), "B") mixt3 = Estimate(meri1, "MIXTURE", "B", "B") Plot(mixt3) # NbComponent="Fixed" (default) / "Estimated" # Penalty="AIC"/ "AICc" / "BIC" / "BICc" (default), option # valide if NbComponent="Estimated" meri = Merge(meri1, meri2, meri3, meri4, meri5) mixt2 = Estimate(meri, "MIXTURE", "B", "B", "B", "B", NbComponent="Estimated", Penalty="BIC") Display(mixt2, Detail=2) dist_mixt = ExtractDistribution(mixt2, "Mixture") Plot(dist_mixt)