Exemplo n.º 1
0
def IndividualTraitStats(species_list, trait_matrix, trait_names):
    '''Get variance and kurtosis for each trait. returns dict with
    keys trait_names and data a tuple of range, var, kurtosis (G2),
    nndist_mean, nndist_var
    '''
    result = {}
    for trait in trait_names :
        temp_matrix = {}
        vals = []
        for spec in species_list :
            val = trait_matrix[spec][trait_names.index(trait)]
            vals.append(val)
            temp_matrix[spec] = [val]
        distances = NearestNeighborDistances(species_list, temp_matrix)
        range = max(vals) - min(vals)
        result[trait] = (range, stats.var(vals), G2(vals),
                         stats.mean(distances), stats.var(distances))  
    return result
Exemplo n.º 2
0
def stddev(*arg):
    def mean():
        return sum(arg)/len(arg)
    def var(m):
        total = 0
        for i in arg:
            total += (i-m)**2
        return total/(len(arg)-1)
    v = var(mean())                # 호출
    return math.sqrt(v)
Exemplo n.º 3
0
def stddev(*arg):
    def var(arg):
        def avg(arg):
            return sum(arg)/len(arg)
        avg = avg(arg)
        d = 0
        for i in arg:
            d += (i - avg)**2
        return d/(len(arg)-1)
    return math.sqrt(var(arg))
Exemplo n.º 4
0
 def _std(self, data):
     """
     Computes the standard deviation
     """
     var = stats.var(data)
     if var > 0.0:
         sd = math.sqrt(var)
     else:
         sd = 0.0
     return sd
Exemplo n.º 5
0
 def _std(self, data):
     """
     Computes the standard deviation
     """
     var = stats.var(data)
     if var>0.0:
         sd = math.sqrt(var)
     else:
         sd = 0.0
     return sd
Exemplo n.º 6
0
def calc(x, conf):
	
	size = len(x)
	sum = stats.sum(x)
	av = stats.average(sum, size)
	gm = stats.gmean(x)
	v = stats.var(sum, stats.sqsum(x), size)
	med = stats.median(x)

	if v != 'error':
		sd = stats.stdv1(v)
		c = stats.conf(float(conf), sd, size)
	else:
		sd = 'error'
		c = 'none'

	return av, gm, v, sd, c, med
Exemplo n.º 7
0
def PrintResultRow(rowname, species_set, trait_matrix, trait_names,
                   options, include_indiv=0) :
    "Print one row of output"
    print "%s\t%d\t%f" % (rowname, len(species_set), HullVolume(species_set, trait_matrix)),

    #individual trait stats     
    if include_indiv :
        trait_stats = IndividualTraitStats(species_set, trait_matrix, trait_names)
        for trait in trait_names :
            print "\t%f\t%f\t%f\t%f\t%f" % trait_stats[trait],

    #Nearest-neighbor distances        
    if options.do_dist :
        distances = NearestNeighborDistances(species_set, trait_matrix)
        print "\t%f\t%f" % (stats.mean(distances), stats.var(distances)),

    if options.do_aussie :
        distances = AussieDistances(species_set, trait_matrix,EuclideanDistanceSquare)
        print "\t%f" % sum(distances), 

    # finish row
    print '\n',    
Exemplo n.º 8
0
def bartlett(*args):
    """Perform Bartlett test with the null hypothesis that all input samples
    have equal variances.

    Inputs are sample vectors:  bartlett(x,y,z,...)

    Outputs: (T, pval)

         T    -- the Test statistic
         pval -- significance level if null is rejected with this value of T
                 (prob. that null is true but rejected with this p-value.)

    Sensitive to departures from normality.  The Levene test is
    an alternative that is less sensitive to departures from
    normality.

    References:

      http://www.itl.nist.gov/div898/handbook/eda/section3/eda357.htm

      Snedecor, George W. and Cochran, William G. (1989), Statistical
        Methods, Eighth Edition, Iowa State University Press.
    """
    k = len(args)
    if k < 2:
        raise ValueError, "Must enter at least two input sample vectors."
    Ni = zeros(k)
    ssq = zeros(k,'d')
    for j in range(k):
        Ni[j] = len(args[j])
        ssq[j] = stats.var(args[j])
    Ntot = sum(Ni,axis=0)
    spsq = sum((Ni-1)*ssq,axis=0)/(1.0*(Ntot-k))
    numer = (Ntot*1.0-k)*log(spsq) - sum((Ni-1.0)*log(ssq),axis=0)
    denom = 1.0 + (1.0/(3*(k-1)))*((sum(1.0/(Ni-1.0),axis=0))-1.0/(Ntot-k))
    T = numer / denom
    pval = distributions.chi2.sf(T,k-1) # 1 - cdf
    return T, pval
Exemplo n.º 9
0
def bartlett(*args):
    """Perform Bartlett test with the null hypothesis that all input samples
    have equal variances.

    Inputs are sample vectors:  bartlett(x,y,z,...)

    Outputs: (T, pval)

         T    -- the Test statistic
         pval -- significance level if null is rejected with this value of T
                 (prob. that null is true but rejected with this p-value.)

    Sensitive to departures from normality.  The Levene test is
    an alternative that is less sensitive to departures from
    normality.

    References:

      http://www.itl.nist.gov/div898/handbook/eda/section3/eda357.htm

      Snedecor, George W. and Cochran, William G. (1989), Statistical
        Methods, Eighth Edition, Iowa State University Press.
    """
    k = len(args)
    if k < 2:
        raise ValueError, "Must enter at least two input sample vectors."
    Ni = zeros(k)
    ssq = zeros(k,'d')
    for j in range(k):
        Ni[j] = len(args[j])
        ssq[j] = stats.var(args[j])
    Ntot = sum(Ni,axis=0)
    spsq = sum((Ni-1)*ssq,axis=0)/(1.0*(Ntot-k))
    numer = (Ntot*1.0-k)*log(spsq) - sum((Ni-1.0)*log(ssq),axis=0)
    denom = 1.0 + (1.0/(3*(k-1)))*((sum(1.0/(Ni-1.0),axis=0))-1.0/(Ntot-k))
    T = numer / denom
    pval = distributions.chi2.sf(T,k-1) # 1 - cdf
    return T, pval
Exemplo n.º 10
0
def oneway(*args,**kwds):
    """Test for equal means in two or more samples from the
    normal distribution.

    If the keyword parameter <equal_var> is true then the variances
    are assumed to be equal, otherwise they are not assumed to
    be equal (default).

    Return test statistic and the p-value giving the probability
    of error if the null hypothesis (equal means) is rejected at this value.
    """
    k = len(args)
    if k < 2:
        raise ValueError, "Must enter at least two input sample vectors."
    if 'equal_var' in kwds.keys():
        if kwds['equal_var']: evar = 1
        else: evar = 0
    else:
        evar = 0

    Ni = array([len(args[i]) for i in range(k)])
    Mi = array([stats.mean(args[i]) for i in range(k)])
    Vi = array([stats.var(args[i]) for i in range(k)])
    Wi = Ni / Vi
    swi = sum(Wi,axis=0)
    N = sum(Ni,axis=0)
    my = sum(Mi*Ni,axis=0)*1.0/N
    tmp = sum((1-Wi/swi)**2 / (Ni-1.0),axis=0)/(k*k-1.0)
    if evar:
        F = ((sum(Ni*(Mi-my)**2,axis=0) / (k-1.0)) / (sum((Ni-1.0)*Vi,axis=0) / (N-k)))
        pval = distributions.f.sf(F,k-1,N-k)  # 1-cdf
    else:
        m = sum(Wi*Mi,axis=0)*1.0/swi
        F = sum(Wi*(Mi-m)**2,axis=0) / ((k-1.0)*(1+2*(k-2)*tmp))
        pval = distributions.f.sf(F,k-1.0,1.0/(3*tmp))

    return F, pval
Exemplo n.º 11
0
def oneway(*args,**kwds):
    """Test for equal means in two or more samples from the
    normal distribution.

    If the keyword parameter <equal_var> is true then the variances
    are assumed to be equal, otherwise they are not assumed to
    be equal (default).

    Return test statistic and the p-value giving the probability
    of error if the null hypothesis (equal means) is rejected at this value.
    """
    k = len(args)
    if k < 2:
        raise ValueError, "Must enter at least two input sample vectors."
    if 'equal_var' in kwds.keys():
        if kwds['equal_var']: evar = 1
        else: evar = 0
    else:
        evar = 0

    Ni = array([len(args[i]) for i in range(k)])
    Mi = array([stats.mean(args[i]) for i in range(k)])
    Vi = array([stats.var(args[i]) for i in range(k)])
    Wi = Ni / Vi
    swi = sum(Wi,axis=0)
    N = sum(Ni,axis=0)
    my = sum(Mi*Ni,axis=0)*1.0/N
    tmp = sum((1-Wi/swi)**2 / (Ni-1.0),axis=0)/(k*k-1.0)
    if evar:
        F = ((sum(Ni*(Mi-my)**2,axis=0) / (k-1.0)) / (sum((Ni-1.0)*Vi,axis=0) / (N-k)))
        pval = distributions.f.sf(F,k-1,N-k)  # 1-cdf
    else:
        m = sum(Wi*Mi,axis=0)*1.0/swi
        F = sum(Wi*(Mi-m)**2,axis=0) / ((k-1.0)*(1+2*(k-2)*tmp))
        pval = distributions.f.sf(F,k-1.0,1.0/(3*tmp))

    return F, pval
Exemplo n.º 12
0
def fligner(*args,**kwds):
    """Perform Levene test with the null hypothesis that all input samples
    have equal variances.

    Inputs are sample vectors:  bartlett(x,y,z,...)

    One keyword input, center, can be used with values
        center = 'mean', center='median' (default), center='trimmed'

    Outputs: (Xsq, pval)

         Xsq  -- the Test statistic
         pval -- significance level if null is rejected with this value of X
                 (prob. that null is true but rejected with this p-value.)

    References:

       http://www.stat.psu.edu/~bgl/center/tr/TR993.ps

       Fligner, M.A. and Killeen, T.J. (1976). Distribution-free two-sample
       tests for scale. 'Journal of the American Statistical Association.'
       71(353), 210-213.
    """
    k = len(args)
    if k < 2:
        raise ValueError, "Must enter at least two input sample vectors."
    if 'center' in kwds.keys():
        center = kwds['center']
    else:
        center = 'median'
    if not center in ['mean','median','trimmed']:
        raise ValueError, "Keyword argument <center> must be 'mean', 'median'"\
              + "or 'trimmed'."
    if center == 'median':
        func = stats.median
    elif center == 'mean':
        func = stats.mean
    else:
        func = stats.trim_mean

    Ni = asarray([len(args[j]) for j in range(k)])
    Yci = asarray([func(args[j]) for j in range(k)])
    Ntot = sum(Ni,axis=0)
    # compute Zij's
    Zij = [abs(asarray(args[i])-Yci[i]) for i in range(k)]
    allZij = []
    g = [0]
    for i in range(k):
        allZij.extend(list(Zij[i]))
        g.append(len(allZij))

    a = distributions.norm.ppf(stats.rankdata(allZij)/(2*(Ntot+1.0)) + 0.5)

    # compute Aibar
    Aibar = _apply_func(a,g,sum) / Ni
    anbar = stats.mean(a)
    varsq = stats.var(a)

    Xsq = sum(Ni*(asarray(Aibar)-anbar)**2.0,axis=0)/varsq

    pval = distributions.chi2.sf(Xsq,k-1) # 1 - cdf
    return Xsq, pval
Exemplo n.º 13
0
print stats.relfreq(af)

print '\nVARIATION'
print 'obrientransform:'

l = range(1,21)
a = N.array(l)
ll = [l]*5
aa = N.array(ll)

print stats.obrientransform(l,l,l,l,l)
print stats.obrientransform(a,a,a,a,a)

print 'samplevar:',stats.samplevar(l),stats.samplevar(a)
print 'samplestdev:',stats.samplestdev(l),stats.samplestdev(a)
print 'var:',stats.var(l),stats.var(a)
print 'stdev:',stats.stdev(l),stats.stdev(a)
print 'sterr:',stats.sterr(l),stats.sterr(a)
print 'sem:',stats.sem(l),stats.sem(a)
print 'z:',stats.z(l,4),stats.z(a,4)
print 'zs:'
print stats.zs(l)
print stats.zs(a)

print '\nTRIMMING'
print 'trimboth:'
print stats.trimboth(l,.2)
print stats.trimboth(lf,.2)
print stats.trimboth(a,.2)
print stats.trimboth(af,.2)
print 'trim1:'
Exemplo n.º 14
0
print 'median:', stats.median(l), stats.median(lf), stats.median(
    a), stats.median(af)
print 'medianscore:', stats.medianscore(l), stats.medianscore(
    lf), stats.medianscore(a), stats.medianscore(af)
print 'mode:', stats.mode(l), stats.mode(a)

print '\nMOMENTS'
print 'moment:', stats.moment(l), stats.moment(lf), stats.moment(
    a), stats.moment(af)
print 'variation:', stats.variation(l), stats.variation(a), stats.variation(
    lf), stats.variation(af)
print 'skew:', stats.skew(l), stats.skew(lf), stats.skew(a), stats.skew(af)
print 'kurtosis:', stats.kurtosis(l), stats.kurtosis(lf), stats.kurtosis(
    a), stats.kurtosis(af)
print 'mean:', stats.mean(a), stats.mean(af)
print 'var:', stats.var(a), stats.var(af)
print 'stdev:', stats.stdev(a), stats.stdev(af)
print 'sem:', stats.sem(a), stats.sem(af)
print 'describe:'
print stats.describe(l)
print stats.describe(lf)
print stats.describe(a)
print stats.describe(af)

print '\nFREQUENCY'
print 'freqtable:'
print 'itemfreq:'
print stats.itemfreq(l)
print stats.itemfreq(a)
print 'scoreatpercentile:', stats.scoreatpercentile(
    l, 40), stats.scoreatpercentile(lf, 40), stats.scoreatpercentile(
Exemplo n.º 15
0
    def PrintNetwork(self, *args):

        '''Prints the network to terminal.

            Args:

            Returns:

            Raises:'''
        self.__ForwardPass() #recalculate project dates
        
        
        header = [heading for heading in args]
        data = [header]
        for i in self.IDs:
            try:
                row = []
                for heading in args:
                    if heading == 'ID':
                        row.append(str(self[i].GetID()))#, str(self[i].GetStart(asobject=True))]
                    if heading == 'Start':
                        row.append(str(self[i].GetStart(asobject=True)))
                    if heading == 'End':
                        row.append(str(self[i].GetEnd(asobject=True)))
                    if heading == 'Duration':
                        row.append(str(self[i].GetDuration()))
                    if heading == 'Slack':
                        row.append(str(self[i].GetSlack()))
                    if heading == 'DurationRangeML':
                        row.append(str(self[i].GetDurationRangeML()))
                    if heading == 'DurationRangeMax':
                        row.append(str(self[i].GetDurationRangeMax()))
                    if heading == 'DurationRangeMin':
                        row.append(str(self[i].GetDurationRangeMin()))
                    if heading == 'Name':
                        row.append(str(self[i].GetName()))
                    if heading == 'Predecesors':
                        row.append(str(self[i].GetPredecesors()))
                    if heading == 'Succsesors':
                        row.append(str(self[i].GetSuccsesors()))
                    if heading == 'Slack':
                        row.append(str(self[i].GetSlack()))

                
                data.append(row)
            except KeyError:
                continue
  
        print MakeTable(data)


        print "\n\n"
        print "OTHER INFORMATION:"
        print "------------------"
        print str('Deterministic Duration:').ljust(15), (self.GetNetworkEnd()-self.GetNetworkStart()).days
        print str('Deterministic Finish:').ljust(15), self.GetNetworkEnd()
        print str('Critical Path:').ljust(15), self.GetCriticalPath()
        print "\n"
        print "SIMULATION RESULTS:"
        print "-------------------"
        end_id = self.GetNetworkEnd(return_ID=True)
        start = self.GetNetworkStart(asobject=True)
        mean = self.GetSimulationMean(end_id)
        print str('E(x):').ljust(15), self.GetSimulationMean(end_id),  start + datetime.timedelta(mean)
        print str('P10:').ljust(15), self.GetSimulationPercentile(end_id, 0.1), self.GetSimulationPercentile(end_id, 0.1, date=True)
        print str('P50:').ljust(15), self.GetSimulationPercentile(end_id, 0.5), self.GetSimulationPercentile(end_id, 0.5, date=True)
        print str('P90:').ljust(15), self.GetSimulationPercentile(end_id, 0.9), self.GetSimulationPercentile(end_id, 0.9, date=True)
        print str('Var:').ljust(15), stats.var(self.GetSimulationVariates(ID = end_id))
Exemplo n.º 16
0
print(stats.relfreq(l))
print(stats.relfreq(lf))
print(stats.relfreq(l))
print(stats.relfreq(lf))

print('\nVARIATION')
print('obrientransform:')

l = [float(f) for f in list(range(1,21))]
ll = [l]*5

print(stats.obrientransform(l,l,l,l,l))

print('samplevar:',stats.samplevar(l),stats.samplevar(l))
print('samplestdev:',stats.samplestdev(l),stats.samplestdev(l))
print('var:',stats.var(l),stats.var(l))
print('stdev:',stats.stdev(l),stats.stdev(l))
print('sterr:',stats.sterr(l),stats.sterr(l))
print('sem:',stats.sem(l),stats.sem(l))
print('z:',stats.z(l,4),stats.z(l,4))
print('zs:')
print(stats.zs(l))
print(stats.zs(l))

print('\nTRIMMING')
print('trimboth:')
print(stats.trimboth(l,.2))
print(stats.trimboth(lf,.2))
print(stats.trimboth(l,.2))
print(stats.trimboth(lf,.2))
print('trim1:')
Exemplo n.º 17
0
    fileNames = sys.stdin.readlines()
    for fileName in fileNames:
        fileName = fileName.strip()
        fileBuf = open(fileName)
        lines = fileBuf.readlines()
        data = []
        for l in lines:
            try:
                data.append(float(l))
            except ValueError:
                pass

        if len(data) > 0:
            mean = stats.mean(data)
            var = math.sqrt(stats.var(data))

            print "file name :", fileName
            print "mean      :", mean
            print "variance  :", var

            if fileName.find("logBallDist") != -1:
                ballDistVars[0].append((mean, var))
            elif fileName.find("logBallHead") != -1:
                ballHeadVars[0].append((mean, var))
            elif fileName.find("logBeaconDist") != -1:
                beaconDistVars[0].append((mean, var))
            elif fileName.find("logBeaconHead") != -1:
                beaconHeadVars[0].append((mean, var))
            elif fileName.find("logGoalDist") != -1:
                goalDistVars[0].append((mean, var))
Exemplo n.º 18
0
def fligner(*args,**kwds):
    """Perform Levene test with the null hypothesis that all input samples
    have equal variances.

    Inputs are sample vectors:  bartlett(x,y,z,...)

    One keyword input, center, can be used with values
        center = 'mean', center='median' (default), center='trimmed'

    Outputs: (Xsq, pval)

         Xsq  -- the Test statistic
         pval -- significance level if null is rejected with this value of X
                 (prob. that null is true but rejected with this p-value.)

    References:

       http://www.stat.psu.edu/~bgl/center/tr/TR993.ps

       Fligner, M.A. and Killeen, T.J. (1976). Distribution-free two-sample
       tests for scale. 'Journal of the American Statistical Association.'
       71(353), 210-213.
    """
    k = len(args)
    if k < 2:
        raise ValueError, "Must enter at least two input sample vectors."
    if 'center' in kwds.keys():
        center = kwds['center']
    else:
        center = 'median'
    if not center in ['mean','median','trimmed']:
        raise ValueError, "Keyword argument <center> must be 'mean', 'median'"\
              + "or 'trimmed'."
    if center == 'median':
        func = stats.median
    elif center == 'mean':
        func = stats.mean
    else:
        func = stats.trim_mean

    Ni = asarray([len(args[j]) for j in range(k)])
    Yci = asarray([func(args[j]) for j in range(k)])
    Ntot = sum(Ni,axis=0)
    # compute Zij's
    Zij = [abs(asarray(args[i])-Yci[i]) for i in range(k)]
    allZij = []
    g = [0]
    for i in range(k):
        allZij.extend(list(Zij[i]))
        g.append(len(allZij))

    a = distributions.norm.ppf(stats.rankdata(allZij)/(2*(Ntot+1.0)) + 0.5)

    # compute Aibar
    Aibar = _apply_func(a,g,sum) / Ni
    anbar = stats.mean(a)
    varsq = stats.var(a)

    Xsq = sum(Ni*(asarray(Aibar)-anbar)**2.0,axis=0)/varsq

    pval = distributions.chi2.sf(Xsq,k-1) # 1 - cdf
    return Xsq, pval
Exemplo n.º 19
0
sys.path

# stddev.py  (module 이름은 py 파일 이름명)
import stddev 
stddev.stddev(2,3,1,7)  # 모듈이름.함수이름

from stddev import *    # 함수 전부다는 * 특정함수는 작성
round(stddev(2,3,1,7), 6)


dir()  # 내가 만든 것들 조회

더 편하게 하려면 환경변수에서 잡아주면됨
PYTHONPATH  C:\python


# 숙제
평균함수 만들어라
분산함수 만들어라

stats 모듈을 만들어라 (즉, stats.py 안에 함수 다 넣어버리자)

import sys
sys.path

from stats import mean,var,stddev
mean(1,2,3,4)
var(1,2,3,4)
stddev(1,2,3,4)
dir()
Exemplo n.º 20
0
 def _fill_moment_results(self):
     """
     Fills the result arrays used for storing the calculated moments
      common format: time, mean, mode, var, skewness, kurtosis,
                     95% confidence lower limit, 95% upper limit
     """
     toprocess = [('stock_tom', self.c_stock, 2),
                  ('stock_woody', self.c_stock, 3),
                  ('stock_non_woody', self.c_stock, 4),
                  ('stock_acid', self.c_stock, 5),
                  ('stock_water', self.c_stock, 6),
                  ('stock_ethanol',  self.c_stock, 7),
                  ('stock_non_soluble', self.c_stock, 8),
                  ('stock_humus', self.c_stock, 9),
                  ('change_tom', self.c_change, 2),
                  ('change_woody', self.c_change, 3),
                  ('change_non_woody', self.c_change, 4),
                  ('change_acid', self.c_change, 5),
                  ('change_water', self.c_change, 6),
                  ('change_ethanol', self.c_change, 7),
                  ('change_non_soluble', self.c_change, 8),
                  ('change_humus', self.c_change, 9),
                  ('co2', self.co2_yield, 2)]
     for (resto, dataarr, dataind) in toprocess:
         # filter time steps
         ts = numpy.unique(dataarr[:,1])
         # extract data for the timestep
         for timestep in ts:
             ind = numpy.where(dataarr[:,1]==timestep)
             mean = stats.mean(dataarr[ind[0], dataind])
             mode_res = stats.mode(dataarr[ind[0], dataind])
             mode = mode_res[0]
             var = stats.var(dataarr[ind[0], dataind])
             skew = stats.skew(dataarr[ind[0], dataind])
             kurtosis = stats.kurtosis(dataarr[ind[0], dataind])
             if var>0.0:
                 sd2 = 2 * math.sqrt(var)
             else:
                 sd2 = var
             res = [[timestep, mean, mode[0], var, skew, kurtosis,
                    mean - sd2, mean + sd2]]
             if resto=='stock_tom':
                 self.md.stock_tom = numpy.append(self.md.stock_tom,
                                                  res, axis=0)
             elif resto=='stock_woody':
                 self.md.stock_woody = numpy.append(self.md.stock_woody,
                                                    res, axis=0)
             elif resto=='stock_non_woody':
                 self.md.stock_non_woody = numpy.append(\
                         self.md.stock_non_woody, res, axis=0)
             elif resto=='stock_acid':
                 self.md.stock_acid = numpy.append(self.md.stock_acid,
                                                   res, axis=0)
             elif resto=='stock_water':
                 self.md.stock_water = numpy.append(self.md.stock_water,
                                                    res, axis=0)
             elif resto=='stock_ethanol':
                 self.md.stock_ethanol = numpy.append(self.md.stock_ethanol,
                                                      res, axis=0)
             elif resto=='stock_non_soluble':
                 self.md.stock_non_soluble= numpy.append(
                                     self.md.stock_non_soluble, res, axis=0)
             elif resto=='stock_humus':
                 self.md.stock_humus = numpy.append(self.md.stock_humus,
                                                    res, axis=0)
             elif resto=='change_tom':
                 self.md.change_tom = numpy.append(self.md.change_tom,
                                                   res, axis=0)
             elif resto=='change_woody':
                 self.md.change_woody = numpy.append(self.md.change_woody,
                                                     res, axis=0)
             elif resto=='change_non_woody':
                 self.md.change_non_woody = numpy.append(\
                         self.md.change_non_woody, res, axis=0)
             elif resto=='change_acid':
                 self.md.change_acid = numpy.append(self.md.change_acid,
                                                    res, axis=0)
             elif resto=='change_water':
                 self.md.change_water = numpy.append(self.md.change_water,
                                                     res, axis=0)
             elif resto=='change_ethanol':
                 self.md.change_ethanol = numpy.append(
                                         self.md.change_ethanol, res, axis=0)
             elif resto=='change_non_soluble':
                 self.md.change_non_soluble=numpy.append(
                                     self.md.change_non_soluble, res, axis=0)
             elif resto=='change_humus':
                 self.md.change_humus = numpy.append(self.md.change_humus,
                                                     res, axis=0)
             elif resto=='co2':
                 self.md.co2 = numpy.append(self.md.co2, res, axis=0)
Exemplo n.º 21
0
        t_list.append(num_bytes)
        datetime_to_bytelist[outputtime] = t_list
      else :
        datetime_to_bytelist[outputtime] = [num_bytes]
      num_packets = 0 
      num_bytes = 0
      tmpdeltamultiple = tmpdeltamultiple + 1
 
timestamps = datetime_to_packetlist.keys()
timestamps.sort()
tmp_total = 0
tmp_size = 0
for time_it in timestamps:
  if len(datetime_to_packetlist[time_it]) > 1:
    mtmp = stats.mean(datetime_to_packetlist[time_it])
    vtmp = stats.var(datetime_to_packetlist[time_it])
    tmp_size = len(datetime_to_packetlist[time_it])
    tmp_total = tmp_total + tmp_size*mtmp
    packetstatsout.write( "%s %f %f %i %i\n" % \
    (time_it,mtmp,vtmp,tmp_total,tmp_size) )    
  else :
    mtmp = stats.mean(datetime_to_packetlist[time_it])
    tmp_size = len(datetime_to_packetlist[time_it])
    tmp_total = tmp_total + tmp_size*mtmp
    packetstatsout.write( "%s %f -1 %i %i\n" % \
    (time_it,mtmp,tmp_total,tmp_size) )    
 
  #datetime_to_packetlist[time_it]

timestamps = datetime_to_bytelist.keys()
timestamps.sort()
Exemplo n.º 22
0
aa = N.array(ll)

print('\nCENTRAL TENDENCY')
print('geometricmean:',stats.geometricmean(l), stats.geometricmean(lf), stats.geometricmean(a), stats.geometricmean(af))
print('harmonicmean:',stats.harmonicmean(l), stats.harmonicmean(lf), stats.harmonicmean(a), stats.harmonicmean(af))
print('mean:',stats.mean(l), stats.mean(lf), stats.mean(a), stats.mean(af))
print('median:',stats.median(l),stats.median(lf),stats.median(a),stats.median(af))
print('medianscore:',stats.medianscore(l),stats.medianscore(lf),stats.medianscore(a),stats.medianscore(af))
print('mode:',stats.mode(l),stats.mode(a))
print('\nMOMENTS')
print('moment:',stats.moment(l),stats.moment(lf),stats.moment(a),stats.moment(af))
print('variation:',stats.variation(l),stats.variation(a),stats.variation(lf),stats.variation(af))
print('skew:',stats.skew(l),stats.skew(lf),stats.skew(a),stats.skew(af))
print('kurtosis:',stats.kurtosis(l),stats.kurtosis(lf),stats.kurtosis(a),stats.kurtosis(af))
print('mean:',stats.mean(a),stats.mean(af))
print('var:',stats.var(a),stats.var(af))
print('stdev:',stats.stdev(a),stats.stdev(af))
print('sem:',stats.sem(a),stats.sem(af))
print('describe:')
print(stats.describe(l))
print(stats.describe(lf))
print(stats.describe(a))
print(stats.describe(af))
print('\nFREQUENCY')
print('freqtable:')
print('itemfreq:')
print(stats.itemfreq(l))
print(stats.itemfreq(a))
print('scoreatpercentile:',stats.scoreatpercentile(l,40),stats.scoreatpercentile(lf,40),stats.scoreatpercentile(a,40),stats.scoreatpercentile(af,40))
print('percentileofscore:',stats.percentileofscore(l,12),stats.percentileofscore(lf,12),stats.percentileofscore(a,12),stats.percentileofscore(af,12))
print('histogram:',stats.histogram(l),stats.histogram(a))
Exemplo n.º 23
0
 def _fill_moment_results(self):
     """
     Fills the result arrays used for storing the calculated moments
      common format: time, mean, mode, var, skewness, kurtosis,
                     95% confidence lower limit, 95% upper limit
     """
     toprocess = [('stock_tom', self.c_stock, 2),
                  ('stock_woody', self.c_stock, 3),
                  ('stock_non_woody', self.c_stock, 4),
                  ('stock_acid', self.c_stock, 5),
                  ('stock_water', self.c_stock, 6),
                  ('stock_ethanol', self.c_stock, 7),
                  ('stock_non_soluble', self.c_stock, 8),
                  ('stock_humus', self.c_stock, 9),
                  ('change_tom', self.c_change, 2),
                  ('change_woody', self.c_change, 3),
                  ('change_non_woody', self.c_change, 4),
                  ('change_acid', self.c_change, 5),
                  ('change_water', self.c_change, 6),
                  ('change_ethanol', self.c_change, 7),
                  ('change_non_soluble', self.c_change, 8),
                  ('change_humus', self.c_change, 9),
                  ('co2', self.co2_yield, 2)]
     for (resto, dataarr, dataind) in toprocess:
         # filter time steps
         ts = numpy.unique(dataarr[:, 1])
         # extract data for the timestep
         for timestep in ts:
             ind = numpy.where(dataarr[:, 1] == timestep)
             mean = stats.mean(dataarr[ind[0], dataind])
             mode_res = stats.mode(dataarr[ind[0], dataind])
             mode = mode_res[0]
             var = stats.var(dataarr[ind[0], dataind])
             skew = stats.skew(dataarr[ind[0], dataind])
             kurtosis = stats.kurtosis(dataarr[ind[0], dataind])
             if var > 0.0:
                 sd2 = 2 * math.sqrt(var)
             else:
                 sd2 = var
             res = [[
                 timestep, mean, mode[0], var, skew, kurtosis, mean - sd2,
                 mean + sd2
             ]]
             if resto == 'stock_tom':
                 self.md.stock_tom = numpy.append(self.md.stock_tom,
                                                  res,
                                                  axis=0)
             elif resto == 'stock_woody':
                 self.md.stock_woody = numpy.append(self.md.stock_woody,
                                                    res,
                                                    axis=0)
             elif resto == 'stock_non_woody':
                 self.md.stock_non_woody = numpy.append(\
                         self.md.stock_non_woody, res, axis=0)
             elif resto == 'stock_acid':
                 self.md.stock_acid = numpy.append(self.md.stock_acid,
                                                   res,
                                                   axis=0)
             elif resto == 'stock_water':
                 self.md.stock_water = numpy.append(self.md.stock_water,
                                                    res,
                                                    axis=0)
             elif resto == 'stock_ethanol':
                 self.md.stock_ethanol = numpy.append(self.md.stock_ethanol,
                                                      res,
                                                      axis=0)
             elif resto == 'stock_non_soluble':
                 self.md.stock_non_soluble = numpy.append(
                     self.md.stock_non_soluble, res, axis=0)
             elif resto == 'stock_humus':
                 self.md.stock_humus = numpy.append(self.md.stock_humus,
                                                    res,
                                                    axis=0)
             elif resto == 'change_tom':
                 self.md.change_tom = numpy.append(self.md.change_tom,
                                                   res,
                                                   axis=0)
             elif resto == 'change_woody':
                 self.md.change_woody = numpy.append(self.md.change_woody,
                                                     res,
                                                     axis=0)
             elif resto == 'change_non_woody':
                 self.md.change_non_woody = numpy.append(\
                         self.md.change_non_woody, res, axis=0)
             elif resto == 'change_acid':
                 self.md.change_acid = numpy.append(self.md.change_acid,
                                                    res,
                                                    axis=0)
             elif resto == 'change_water':
                 self.md.change_water = numpy.append(self.md.change_water,
                                                     res,
                                                     axis=0)
             elif resto == 'change_ethanol':
                 self.md.change_ethanol = numpy.append(
                     self.md.change_ethanol, res, axis=0)
             elif resto == 'change_non_soluble':
                 self.md.change_non_soluble = numpy.append(
                     self.md.change_non_soluble, res, axis=0)
             elif resto == 'change_humus':
                 self.md.change_humus = numpy.append(self.md.change_humus,
                                                     res,
                                                     axis=0)
             elif resto == 'co2':
                 self.md.co2 = numpy.append(self.md.co2, res, axis=0)