def from_dataframe_test(): import os import numpy as np import pandas as pd from pyemu import MonteCarlo,Ensemble,ParameterEnsemble,Pst jco = os.path.join("pst","pest.jcb") pst = jco.replace(".jcb",".pst") mc = MonteCarlo(jco=jco,pst=pst) names = ["par_{0}".format(_) for _ in range(10)] df = pd.DataFrame(np.random.random((10,mc.pst.npar)),columns=mc.pst.par_names) mc.parensemble = ParameterEnsemble.from_dataframe(df=df,pst=mc.pst) print(mc.parensemble.shape) mc.project_parensemble() mc.parensemble.to_csv(os.path.join("temp","test.csv"))
def from_dataframe_test(): import os import numpy as np import pandas as pd from pyemu import MonteCarlo,Ensemble,ParameterEnsemble,Pst jco = os.path.join("pst","pest.jcb") pst = jco.replace(".jcb",".pst") mc = MonteCarlo(jco=jco,pst=pst) names = ["par_{0}".format(_) for _ in range(10)] df = pd.DataFrame(np.random.random((10,mc.pst.npar)),columns=mc.pst.par_names) mc.parensemble = ParameterEnsemble.from_dataframe(df=df,pst=mc.pst) print(mc.parensemble.shape) mc.project_parensemble() mc.parensemble.to_csv(os.path.join("temp","test.csv"))
def mc_test(): import os import numpy as np from pyemu import MonteCarlo, Cov jco = os.path.join("pst","pest.jcb") pst = jco.replace(".jcb",".pst") out_dir = os.path.join("mc") if not os.path.exists(out_dir): os.mkdir(out_dir) #write testing mc = MonteCarlo(jco=jco,verbose=True,sigma_range=6) cov = Cov.from_parameter_data(mc.pst,sigma_range=6) assert np.abs((mc.parcov.x - cov.x).sum()) == 0.0 mc.draw(10,obs=True) mc.write_psts(os.path.join("temp","real_")) mc.parensemble.to_parfiles(os.path.join("mc","real_")) mc = MonteCarlo(jco=jco,verbose=True) mc.draw(10,obs=True) print("prior ensemble variance:", np.var(mc.parensemble.loc[:,"mult1"])) projected_en = mc.project_parensemble(inplace=False) print("projected ensemble variance:", np.var(projected_en.loc[:,"mult1"])) import pyemu sc = pyemu.Schur(jco=jco) mc = MonteCarlo(pst=pst,parcov=sc.posterior_parameter,verbose=True) mc.draw(10) print("posterior ensemble variance:", np.var(mc.parensemble.loc[:,"mult1"]))
def from_dataframe_test(): import os import numpy as np import pandas as pd from pyemu import MonteCarlo,Ensemble,ParameterEnsemble,Pst, Cov jco = os.path.join("pst","pest.jcb") pst = jco.replace(".jcb",".pst") mc = MonteCarlo(jco=jco,pst=pst) names = ["par_{0}".format(_) for _ in range(10)] df = pd.DataFrame(np.random.random((10,mc.pst.npar)),columns=mc.pst.par_names) mc.parensemble = ParameterEnsemble.from_dataframe(df=df,pst=mc.pst) print(mc.parensemble.shape) mc.project_parensemble() mc.parensemble.to_csv(os.path.join("temp","test.csv")) pstc = Pst(pst) par = pstc.parameter_data par.sort_values(by="parnme",ascending=False,inplace=True) cov = Cov.from_parameter_data(pstc) pe = ParameterEnsemble.from_gaussian_draw(pst=mc.pst,cov=cov)