use of org.knime.core.data.def.IntCell in project knime-core by knime.
the class LeveneTestStatistics method getLeveneTestTwoGroupsCells.
/**
* Get the test result of the Levene test. This is an optimized version for
* two groups.
* @return the Levene test
*/
public List<List<DataCell>> getLeveneTestTwoGroupsCells() {
SummaryStatistics statsX = m_denStats.get(0);
SummaryStatistics statsY = m_denStats.get(1);
// overall sample mean
double m = m_lstats.getMean();
// first sample mean
double m1 = statsX.getMean();
// second sample mean
double m2 = statsY.getMean();
// first sample variance
double v1 = statsX.getVariance();
// second sample variance
double v2 = statsY.getVariance();
// first sample count
double n1 = statsX.getN();
// second sample count
double n2 = statsY.getN();
// Levene's test
double num = n1 * (m1 - m) * (m1 - m) + n2 * (m2 - m) * (m2 - m);
double den = (n1 - 1) * v1 + (n2 - 1) * v2;
double L = (n1 + n2 - 2) / den * num;
long df1 = 1;
long df2 = (long) n1 + (long) n2 - 2;
FDistribution distribution = new FDistribution(df1, df2);
double pValue = 1 - distribution.cumulativeProbability(L);
List<DataCell> cells = new ArrayList<DataCell>();
cells.add(new StringCell(m_column));
cells.add(new DoubleCell(L));
cells.add(new IntCell((int) df1));
cells.add(new IntCell((int) df2));
cells.add(new DoubleCell(pValue));
return Collections.singletonList(cells);
}
use of org.knime.core.data.def.IntCell in project knime-core by knime.
the class OneWayANOVAStatistics method getGroupStatistics.
/**
* Get descriptive statistics for the given Group.
* @param groupIndex the index of the group
* @return the descriptive statistics for this group.
*/
public List<DataCell> getGroupStatistics(final int groupIndex) {
List<DataCell> cells = new ArrayList<DataCell>();
cells.add(new StringCell(m_column));
cells.add(new StringCell(m_groups.get(groupIndex)));
SummaryStatistics stats = m_gstats.get(groupIndex);
cells.add(new IntCell((int) stats.getN()));
cells.add(new IntCell(m_missing.get(groupIndex).intValue()));
cells.add(new IntCell(m_missingGroup.intValue()));
cells.add(new DoubleCell(stats.getMean()));
cells.add(new DoubleCell(stats.getStandardDeviation()));
cells.add(new DoubleCell(StatsUtil.getStandardError(stats)));
cells.add(new DoubleCell(m_confidenceIntervalProp));
long df = stats.getN() - 1;
TDistribution distribution = new TDistribution(df);
double tValue = FastMath.abs(distribution.inverseCumulativeProbability((1 - m_confidenceIntervalProp) / 2));
double confidenceDelta = tValue * StatsUtil.getStandardError(stats);
double confidenceLowerBound = stats.getMean() - confidenceDelta;
double confidenceUpperBound = stats.getMean() + confidenceDelta;
cells.add(new DoubleCell(confidenceLowerBound));
cells.add(new DoubleCell(confidenceUpperBound));
cells.add(new DoubleCell(stats.getMin()));
cells.add(new DoubleCell(stats.getMax()));
return cells;
}
use of org.knime.core.data.def.IntCell in project knime-core by knime.
the class OneWayANOVAStatistics method getGroupsTotalStatistics.
/**
* Get descriptive statistics for all groups.
* @return the descriptive statistics for all groups
*/
public List<DataCell> getGroupsTotalStatistics() {
List<DataCell> cells = new ArrayList<DataCell>();
cells.add(new StringCell(m_column));
cells.add(new StringCell("Total"));
SummaryStatistics stats = m_stats;
cells.add(new IntCell((int) stats.getN()));
int missingCount = 0;
for (MutableInteger m : m_missing) {
missingCount += m.intValue();
}
cells.add(new IntCell(missingCount));
cells.add(new IntCell(m_missingGroup.intValue()));
cells.add(new DoubleCell(stats.getMean()));
cells.add(new DoubleCell(stats.getStandardDeviation()));
cells.add(new DoubleCell(StatsUtil.getStandardError(stats)));
cells.add(new DoubleCell(m_confidenceIntervalProp));
long df = stats.getN() - 1;
TDistribution distribution = new TDistribution(df);
double tValue = FastMath.abs(distribution.inverseCumulativeProbability((1 - m_confidenceIntervalProp) / 2));
double confidenceDelta = tValue * StatsUtil.getStandardError(stats);
double confidenceLowerBound = stats.getMean() - confidenceDelta;
double confidenceUpperBound = stats.getMean() + confidenceDelta;
cells.add(new DoubleCell(confidenceLowerBound));
cells.add(new DoubleCell(confidenceUpperBound));
cells.add(new DoubleCell(stats.getMin()));
cells.add(new DoubleCell(stats.getMax()));
return cells;
}
use of org.knime.core.data.def.IntCell in project knime-core by knime.
the class OneWayANOVAStatistics method getTotal.
/**
* Get the row of the ANOVA table with the cells "Total".
*/
private List<DataCell> getTotal(final ANOVA anova) {
List<DataCell> cells = new ArrayList<DataCell>();
cells.add(new StringCell(m_column));
cells.add(new StringCell(SOURCE_TOTAL));
cells.add(new DoubleCell(anova.getSqurb() + anova.getSquri()));
cells.add(new IntCell((int) (anova.getDfb() + anova.getDfi())));
cells.add(DataType.getMissingCell());
cells.add(DataType.getMissingCell());
cells.add(DataType.getMissingCell());
return cells;
}
use of org.knime.core.data.def.IntCell in project knime-core by knime.
the class OneSampleTTestStatistics method getDescStats.
/**
* Get descriptive statistics for the given column
* @param rowID the row key
* @param column the name of the column
* @param stats the statistics of the column
* @param missing the missing values in this column
* @return a DataRow with descriptive statistics
*/
private List<DataCell> getDescStats(final String column, final SummaryStatistics stats, final MutableInteger missing) {
List<DataCell> cells = new ArrayList<DataCell>();
cells.add(new StringCell(column));
cells.add(new IntCell((int) stats.getN()));
cells.add(new IntCell(missing.intValue()));
cells.add(new DoubleCell(stats.getMean()));
cells.add(new DoubleCell(stats.getStandardDeviation()));
cells.add(new DoubleCell(StatsUtil.getStandardError(stats)));
return cells;
}
Aggregations