Package mondrian.olap.fun
Class LinReg
- java.lang.Object
-
- All Implemented Interfaces:
FunDef
- Direct Known Subclasses:
LinReg.InterceptFunDef
,LinReg.PointFunDef
,LinReg.R2FunDef
,LinReg.SlopeFunDef
,LinReg.VarianceFunDef
public abstract class LinReg extends FunDefBase
Abstract base class for definitions of linear regression functions.- See Also:
LinReg.InterceptFunDef
,LinReg.PointFunDef
,LinReg.R2FunDef
,LinReg.SlopeFunDef
,Correlation coefficient Correlation coefficient The correlation coefficient, r, ranges from -1 to + 1. The nonparametric Spearman correlation coefficient, abbreviated rs, has the same range. Value of r (or rs) Interpretation r= 0 The two variables do not vary together at all. 0 r 1 The two variables tend to increase or decrease together. r = 1.0 Perfect correlation. -1 r 0 One variable increases as the other decreases. r = -1.0 Perfect negative or inverse correlation. If r or rs is far from zero, there are four possible explanations: The X variable helps determine the value of the Y variable. The Y variable helps determine the value of the X variable. Another variable influences both X and Y. X and Y don't really correlate at all, and you just happened to observe such a strong correlation by chance. The P value determines how often this could occur. r2 Perhaps the best way to interpret the value of r is to square it to calculate r2. Statisticians call this quantity the coefficient of determination, but scientists call it r squared. It is has a value that ranges from zero to one, and is the fraction of the variance in the two variables that is shared. For example, if r2=0.59, then 59% of the variance in X can be explained by variation in Y. Likewise, 59% of the variance in Y can be explained by (or goes along with) variation in X. More simply, 59% of the variance is shared between X and Y. (Source). Also see: least squares fitting.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
LinReg.InterceptFunDef
Definition of theLinRegIntercept
MDX function.static class
LinReg.PointFunDef
Definition of theLinRegPoint
MDX function.static class
LinReg.R2FunDef
Definition of theLinRegR2
MDX function.static class
LinReg.SlopeFunDef
Definition of theLinRegSlope
MDX function.(package private) static class
LinReg.Value
static class
LinReg.VarianceFunDef
Definition of theLinRegVariance
MDX function.-
Nested classes/interfaces inherited from class mondrian.olap.fun.FunUtil
FunUtil.DescendingValueComparator, FunUtil.Flag, FunUtil.ObjIntPair<T>, FunUtil.OrderKey, FunUtil.Quicksorter<T>, FunUtil.SetWrapper, FunUtil.SortKeySpec, FunUtil.TupleExpMemoComparator
-
Nested classes/interfaces inherited from class mondrian.olap.Util
Util.AbstractFlatList<T>, Util.ByteMatcher, Util.ErrorCellValue, Util.Flat2List<T>, Util.Flat3List<T>, Util.Functor1<RT,PT>, Util.GcIterator<T>, Util.MemoryInfo, Util.PropertyList, Util.SqlNullSafeComparator
-
-
Field Summary
Fields Modifier and Type Field Description static int
Intercept
(package private) static Resolver
InterceptResolver
static int
Point
(package private) static Resolver
PointResolver
static int
R2
(package private) static Resolver
R2Resolver
(package private) int
regType
Code for the specific function.static int
Slope
(package private) static Resolver
SlopeResolver
static int
Variance
(package private) static Resolver
VarianceResolver
-
Fields inherited from class mondrian.olap.fun.FunDefBase
flags, parameterCategories, returnCategory, signature
-
Fields inherited from class mondrian.olap.fun.FunUtil
BooleanNull, DoubleEmpty, DoubleNull, emptyStringArray, IntegerNull, NullMember
-
Fields inherited from class mondrian.olap.Util
DEBUG, EmptyValue, IBM_JVM, JdbcVersion, JVM_INSTANCE_UUID, nl, nullValue, Retrowoven
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static LinReg.Value
accuracy(LinReg.Value value)
Calc
compileCall(ResolvedFunCall call, ExpCompiler compiler)
Converts a call to this function into executable objects.protected static void
debug(java.lang.String type, java.lang.String msg)
static java.util.List
forecast(LinReg.Value value)
static LinReg.Value
linearReg(java.util.List xlist, java.util.List ylist)
protected static LinReg.Value
process(Evaluator evaluator, ListCalc listCalc, DoubleCalc yCalc, DoubleCalc xCalc)
-
Methods inherited from class mondrian.olap.fun.FunDefBase
castType, createCall, getDescription, getName, getParameterCategories, getResultType, getReturnCategory, getSignature, getSyntax, unparse, validateArg
-
Methods inherited from class mondrian.olap.fun.FunUtil
addMembers, addMembers, addUnique, ancestor, appendTuple, avg, box, box, checkCompatible, checkIterListResultStyles, checkListResultStyles, compareHierarchically, compareSiblingMembers, compareValues, compareValues, correlation, count, cousin, covariance, createDummyFunDef, decodeCategory, decodeParameterCategories, decodeReturnCategory, decodeSyntacticType, equalTuple, evaluateMembers, evaluateSet, evaluateSet, evaluateTuples, getDimensionDefaultHierarchy, getLiteralArg, getLiteralArg, getNonEmptyLevelMembers, getNonEmptyMemberChildren, getNonEmptyMemberChildrenWithDetails, hierarchizeMemberList, hierarchizeTupleList, hierarchyMembers, isAncestorOf, levelMembers, makeNullMember, makeNullTuple, max, memberRange, min, newEvalException, newEvalException, newEvalException, parseMember, parseMemberList, parseTuple, parseTupleList, partiallySortMembers, partiallySortTuples, partialSort, percentile, periodsToDate, quartile, removeCalculatedMembers, removeCalculatedMembers, resolveFunArgs, sortMembers, sortMembers, sortTuples, sortTuples, stablePartialSort, stablePartialSort, stablePartialSortArray, stablePartialSortJulian, stablePartialSortMarc, stablePartialSortPedro, stdev, sum, sumDouble, sumDouble, toPercent, tupleContainsNullMember, tupleContainsNullMember, var, worthCaching
-
Methods inherited from class mondrian.olap.Util
addDatabaseTime, addLevelCalculatedMembers, append, appendArrays, areOccurencesEqual, assertPostcondition, assertPostcondition, assertPrecondition, assertPrecondition, assertTrue, assertTrue, badValue, binarySearch, bitSetBetween, camelToUpper, canCast, cancelStatement, caseSensitiveCompareName, cast, cast, castToIterable, checkCJResultLimit, close, commaList, compare, compareIntegers, compareKey, compareName, compileScript, convert, convert, convertOlap4jConnectStringToNativeMondrian, convertStackToString, copyOf, copyOf, copyOf, copyOf, copyOf, createExpr, createRandom, createRootRole, createSimpleValidator, createUdf, dbTimeMillis, deprecated, deprecated, digestMd5, digestSha256, equal, equalName, equals, equals, falseFunctor, filter, flatList, flatList, flatListCopy, generateUuidString, genericArray, getAnnotation, getClosestResource, getDimensionCube, getErrorMessage, getErrorMessage, getExecutorService, getFirstDescendantOnLevel, getMatchingCause, getMemberOrdinalInParent, getMemoryInfo, getScheduledExecutorService, hash, hash, hashArray, identityFunctor, implode, intersect, isBlank, isEmpty, isNull, isSorted, isValidProperty, last, lookup, lookup, lookup, lookup, lookup, lookupCompound, lookupCompound, lookupHierarchyLevel, lookupHierarchyRootMember, lookupHierarchyRootMember, lookupProperty, makeBigDecimalFromDouble, makeFqName, makeFqName, makeFqName, matches, matches, mdxEncodeString, needToImplement, newElementNotFoundException, newError, newError, newIdentityHashSet, newIdentityHashSetFake, newInternal, newInternal, newTimer, nonDbTimeMillis, normalizeName, only, parseCommaList, parseConnectString, parseIdentifier, parseInterval, parseLocale, printMemory, printMemory, quoteForMdx, quoteForMdx, quoteJavaString, quoteMdxIdentifier, quoteMdxIdentifier, quoteMdxIdentifier, quoteMdxIdentifier, quotePattern, readFully, readFully, readURL, readURL, readURL, readVirtualFile, readVirtualFileAsString, replace, replace, replaceProperties, safeGet, singleQuoteString, singleQuoteString, sort, sort, threadLocalRemove, toMap, toNullValuesMap, toOlap4j, toOlap4j, toOlap4j, toURL, trueFunctor, unexpected, uniquify, unparse, unparse, wildcardToRegexp
-
Methods inherited from class org.eigenbase.xom.XOMUtil
addChild, addChild, addChildren, addElement, concatenate, createDefaultParser, discard, discard, discard, discard, discard, discard, discard, discard, discard, getFirstInstance, wrapperToXml
-
Methods inherited from class org.eigenbase.xom.XMLUtil
getFirstTagName, printAtt, printAtt, printAtt, printAtt, printPCDATA, printPCDATA, printPCDATA, quoteAtt, quoteAtt, quoteAtt, quoteAtt, quotePCDATA, stringEncodeXML, stringHasXMLSpecials
-
-
-
-
Field Detail
-
regType
final int regType
Code for the specific function.
-
Point
public static final int Point
- See Also:
- Constant Field Values
-
R2
public static final int R2
- See Also:
- Constant Field Values
-
Intercept
public static final int Intercept
- See Also:
- Constant Field Values
-
Slope
public static final int Slope
- See Also:
- Constant Field Values
-
Variance
public static final int Variance
- See Also:
- Constant Field Values
-
InterceptResolver
static final Resolver InterceptResolver
-
PointResolver
static final Resolver PointResolver
-
SlopeResolver
static final Resolver SlopeResolver
-
R2Resolver
static final Resolver R2Resolver
-
VarianceResolver
static final Resolver VarianceResolver
-
-
Constructor Detail
-
LinReg
protected LinReg(FunDef funDef, int regType)
-
-
Method Detail
-
compileCall
public Calc compileCall(ResolvedFunCall call, ExpCompiler compiler)
Description copied from interface:FunDef
Converts a call to this function into executable objects.The result must implement the appropriate interface for the result type. For example, a function which returns an integer must return an object which implements
IntegerCalc
.- Specified by:
compileCall
in interfaceFunDef
- Overrides:
compileCall
in classFunDefBase
-
debug
protected static void debug(java.lang.String type, java.lang.String msg)
-
process
protected static LinReg.Value process(Evaluator evaluator, ListCalc listCalc, DoubleCalc yCalc, DoubleCalc xCalc)
-
accuracy
public static LinReg.Value accuracy(LinReg.Value value)
-
linearReg
public static LinReg.Value linearReg(java.util.List xlist, java.util.List ylist)
-
forecast
public static java.util.List forecast(LinReg.Value value)
-
-