| Copyright | (c) 2009-2014 Bryan O'Sullivan |
|---|---|
| License | BSD-style |
| Maintainer | bos@serpentine.com |
| Stability | experimental |
| Portability | GHC |
| Safe Haskell | Trustworthy |
| Language | Haskell2010 |
Criterion.Analysis
Description
Analysis code for benchmarks.
Synopsis
- data Outliers = Outliers {
- samplesSeen :: !Int64
- lowSevere :: !Int64
- lowMild :: !Int64
- highMild :: !Int64
- highSevere :: !Int64
- data OutlierEffect
- = Unaffected
- | Slight
- | Moderate
- | Severe
- data OutlierVariance = OutlierVariance {
- ovEffect :: OutlierEffect
- ovDesc :: String
- ovFraction :: Double
- data SampleAnalysis = SampleAnalysis {}
- analyseSample :: Int -> String -> Vector Measured -> ExceptT String Criterion Report
- scale :: Double -> SampleAnalysis -> SampleAnalysis
- analyseMean :: Sample -> Int -> Criterion Double
- countOutliers :: Outliers -> Int64
- classifyOutliers :: Sample -> Outliers
- noteOutliers :: Outliers -> Criterion ()
- outlierVariance :: Estimate ConfInt Double -> Estimate ConfInt Double -> Double -> OutlierVariance
- resolveAccessors :: [String] -> Either String [(String, Measured -> Maybe Double)]
- validateAccessors :: [String] -> String -> Either String [(String, Measured -> Maybe Double)]
- regress :: GenIO -> [String] -> String -> Vector Measured -> ExceptT String Criterion Regression
Documentation
Outliers from sample data, calculated using the boxplot technique.
Constructors
Fields
- samplesSeen :: !Int64
- lowSevere :: !Int64
More than 3 times the interquartile range (IQR) below the first quartile.
- lowMild :: !Int64
Between 1.5 and 3 times the IQR below the first quartile.
- highMild :: !Int64
Between 1.5 and 3 times the IQR above the third quartile.
- highSevere :: !Int64
More than 3 times the IQR above the third quartile.
Instances
Instances details
Instance details
Defined in Criterion.Types
Instance details
Defined in Criterion.Types
Methods
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Outliers -> c Outliers #
gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Outliers #
toConstr :: Outliers -> Constr #
dataTypeOf :: Outliers -> DataType #
dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Outliers) #
dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Outliers) #
gmapT :: (forall b. Data b => b -> b) -> Outliers -> Outliers #
gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Outliers -> r #
gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Outliers -> r #
gmapQ :: (forall d. Data d => d -> u) -> Outliers -> [u] #
gmapQi :: Int -> (forall d. Data d => d -> u) -> Outliers -> u #
gmapM :: Monad m => (forall d. Data d => d -> m d) -> Outliers -> m Outliers #
gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Outliers -> m Outliers #
gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Outliers -> m Outliers #
Instance details
Defined in Criterion.Types
Associated Types
Instance details
Defined in Criterion.Types
Instance details
Defined in Criterion.Types
data OutlierEffect Source #
A description of the extent to which outliers in the sample data affect the sample mean and standard deviation.
Constructors
Less than 1% effect.
Between 1% and 10%.
Between 10% and 50%.
Above 50% (i.e. measurements are useless).
Instances
Instances details
Instance details
Defined in Criterion.Types
Methods
parseJSON :: Value -> Parser OutlierEffect #
parseJSONList :: Value -> Parser [OutlierEffect] #
Instance details
Defined in Criterion.Types
Methods
toJSON :: OutlierEffect -> Value #
toEncoding :: OutlierEffect -> Encoding #
toJSONList :: [OutlierEffect] -> Value #
toEncodingList :: [OutlierEffect] -> Encoding #
omitField :: OutlierEffect -> Bool #
Instance details
Defined in Criterion.Types
Methods
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OutlierEffect -> c OutlierEffect #
gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c OutlierEffect #
toConstr :: OutlierEffect -> Constr #
dataTypeOf :: OutlierEffect -> DataType #
dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c OutlierEffect) #
dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c OutlierEffect) #
gmapT :: (forall b. Data b => b -> b) -> OutlierEffect -> OutlierEffect #
gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OutlierEffect -> r #
gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OutlierEffect -> r #
gmapQ :: (forall d. Data d => d -> u) -> OutlierEffect -> [u] #
gmapQi :: Int -> (forall d. Data d => d -> u) -> OutlierEffect -> u #
gmapM :: Monad m => (forall d. Data d => d -> m d) -> OutlierEffect -> m OutlierEffect #
gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OutlierEffect -> m OutlierEffect #
gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OutlierEffect -> m OutlierEffect #
Instance details
Defined in Criterion.Types
Associated Types
Instance details
Defined in Criterion.Types
Instance details
Defined in Criterion.Types
Methods
readsPrec :: Int -> ReadS OutlierEffect #
readList :: ReadS [OutlierEffect] #
Instance details
Defined in Criterion.Types
Methods
showsPrec :: Int -> OutlierEffect -> ShowS #
show :: OutlierEffect -> String #
showList :: [OutlierEffect] -> ShowS #
Instance details
Defined in Criterion.Types
Instance details
Defined in Criterion.Types
Methods
(==) :: OutlierEffect -> OutlierEffect -> Bool #
(/=) :: OutlierEffect -> OutlierEffect -> Bool #
Instance details
Defined in Criterion.Types
Methods
compare :: OutlierEffect -> OutlierEffect -> Ordering #
(<) :: OutlierEffect -> OutlierEffect -> Bool #
(<=) :: OutlierEffect -> OutlierEffect -> Bool #
(>) :: OutlierEffect -> OutlierEffect -> Bool #
(>=) :: OutlierEffect -> OutlierEffect -> Bool #
max :: OutlierEffect -> OutlierEffect -> OutlierEffect #
min :: OutlierEffect -> OutlierEffect -> OutlierEffect #
Instance details
Defined in Criterion.Types
data OutlierVariance Source #
Analysis of the extent to which outliers in a sample affect its standard deviation (and to some extent, its mean).
Constructors
Fields
- ovEffect :: OutlierEffect
Qualitative description of effect.
- ovDesc :: String
Brief textual description of effect.
- ovFraction :: Double
Quantitative description of effect (a fraction between 0 and 1).
Instances
Instances details
Instance details
Defined in Criterion.Types
Methods
parseJSON :: Value -> Parser OutlierVariance #
parseJSONList :: Value -> Parser [OutlierVariance] #
Instance details
Defined in Criterion.Types
Methods
toJSON :: OutlierVariance -> Value #
toEncoding :: OutlierVariance -> Encoding #
toJSONList :: [OutlierVariance] -> Value #
toEncodingList :: [OutlierVariance] -> Encoding #
omitField :: OutlierVariance -> Bool #
Instance details
Defined in Criterion.Types
Methods
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OutlierVariance -> c OutlierVariance #
gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c OutlierVariance #
toConstr :: OutlierVariance -> Constr #
dataTypeOf :: OutlierVariance -> DataType #
dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c OutlierVariance) #
dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c OutlierVariance) #
gmapT :: (forall b. Data b => b -> b) -> OutlierVariance -> OutlierVariance #
gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OutlierVariance -> r #
gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OutlierVariance -> r #
gmapQ :: (forall d. Data d => d -> u) -> OutlierVariance -> [u] #
gmapQi :: Int -> (forall d. Data d => d -> u) -> OutlierVariance -> u #
gmapM :: Monad m => (forall d. Data d => d -> m d) -> OutlierVariance -> m OutlierVariance #
gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OutlierVariance -> m OutlierVariance #
gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OutlierVariance -> m OutlierVariance #
Instance details
Defined in Criterion.Types
Associated Types
Instance details
Defined in Criterion.Types
Methods
from :: OutlierVariance -> Rep OutlierVariance x #
to :: Rep OutlierVariance x -> OutlierVariance #
Instance details
Defined in Criterion.Types
Methods
readsPrec :: Int -> ReadS OutlierVariance #
readList :: ReadS [OutlierVariance] #
Instance details
Defined in Criterion.Types
Methods
showsPrec :: Int -> OutlierVariance -> ShowS #
show :: OutlierVariance -> String #
showList :: [OutlierVariance] -> ShowS #
Instance details
Defined in Criterion.Types
Methods
put :: OutlierVariance -> Put #
get :: Get OutlierVariance #
putList :: [OutlierVariance] -> Put #
Instance details
Defined in Criterion.Types
Methods
(==) :: OutlierVariance -> OutlierVariance -> Bool #
(/=) :: OutlierVariance -> OutlierVariance -> Bool #
Instance details
Defined in Criterion.Types
data SampleAnalysis Source #
Result of a bootstrap analysis of a non-parametric sample.
Constructors
Fields
- anRegress :: [Regression]
Estimates calculated via linear regression.
- anMean :: Estimate ConfInt Double
Estimated mean.
- anStdDev :: Estimate ConfInt Double
Estimated standard deviation.
- anOutlierVar :: OutlierVariance
Description of the effects of outliers on the estimated variance.
Instances
Instances details
Instance details
Defined in Criterion.Types
Methods
parseJSON :: Value -> Parser SampleAnalysis #
parseJSONList :: Value -> Parser [SampleAnalysis] #
Instance details
Defined in Criterion.Types
Methods
toJSON :: SampleAnalysis -> Value #
toEncoding :: SampleAnalysis -> Encoding #
toJSONList :: [SampleAnalysis] -> Value #
toEncodingList :: [SampleAnalysis] -> Encoding #
omitField :: SampleAnalysis -> Bool #
Instance details
Defined in Criterion.Types
Associated Types
Instance details
Defined in Criterion.Types
Methods
from :: SampleAnalysis -> Rep SampleAnalysis x #
to :: Rep SampleAnalysis x -> SampleAnalysis #
Instance details
Defined in Criterion.Types
Methods
readsPrec :: Int -> ReadS SampleAnalysis #
readList :: ReadS [SampleAnalysis] #
Instance details
Defined in Criterion.Types
Methods
showsPrec :: Int -> SampleAnalysis -> ShowS #
show :: SampleAnalysis -> String #
showList :: [SampleAnalysis] -> ShowS #
Instance details
Defined in Criterion.Types
Methods
put :: SampleAnalysis -> Put #
get :: Get SampleAnalysis #
putList :: [SampleAnalysis] -> Put #
Instance details
Defined in Criterion.Types
Methods
(==) :: SampleAnalysis -> SampleAnalysis -> Bool #
(/=) :: SampleAnalysis -> SampleAnalysis -> Bool #
Instance details
Defined in Criterion.Types
Perform an analysis of a measurement.
Multiply the Estimates in an analysis by the given value, using
scale .
Display the mean of a Sample , and characterise the outliers
present in the sample.
countOutliers :: Outliers -> Int64 Source #
Count the total number of outliers in a sample.
classifyOutliers :: Sample -> Outliers Source #
Classify outliers in a data set, using the boxplot technique.
noteOutliers :: Outliers -> Criterion () Source #
Arguments
Number of original iterations.
Compute the extent to which outliers in the sample data affect the sample mean and standard deviation.
resolveAccessors :: [String] -> Either String [(String, Measured -> Maybe Double)] Source #
Given a list of accessor names (see measureKeys ), return either
a mapping from accessor name to function or an error message if
any names are wrong.
Given predictor and responder names, do some basic validation, then hand back the relevant accessors.
Regress the given predictors against the responder.
Errors may be returned under various circumstances, such as invalid names or lack of needed data.
See olsRegress for details of the regression performed.