mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Plot proper confidence regions
I was coninced that that rather than doing an order of magnitude estimate of the confidence region it's better to have the correct concave shapes that indicate the 95% confidence level for the regression line. It also turned out that the previous expression was missing a factor of 1/sqrt(n). Signed-off-by: Robert C. Helling <helling@atdotde.de>
This commit is contained in:
parent
5775bd7b27
commit
d6712bc5ac
2 changed files with 38 additions and 36 deletions
|
@ -31,6 +31,13 @@ class QSGTexture;
|
|||
enum class ChartSubType : int;
|
||||
enum class StatsOperation : int;
|
||||
|
||||
struct regression_data {
|
||||
double a,b;
|
||||
double res2, r2, sx2, xavg;
|
||||
int n;
|
||||
};
|
||||
|
||||
|
||||
class StatsView : public QQuickItem {
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
@ -120,10 +127,9 @@ private:
|
|||
struct RegressionLine {
|
||||
std::unique_ptr<QGraphicsPolygonItem> item;
|
||||
StatsAxis *xAxis, *yAxis;
|
||||
double a, b; // y = ax + b
|
||||
double width;
|
||||
const struct regression_data reg;
|
||||
void updatePosition();
|
||||
RegressionLine(double a, double b, double width, QBrush brush, QGraphicsScene *scene, StatsAxis *xAxis, StatsAxis *yAxis);
|
||||
RegressionLine(const struct regression_data reg, QBrush brush, QGraphicsScene *scene, StatsAxis *xAxis, StatsAxis *yAxis);
|
||||
};
|
||||
|
||||
// A line marking median or mean in histograms
|
||||
|
@ -136,7 +142,7 @@ private:
|
|||
HistogramMarker(double val, bool horizontal, QPen pen, QGraphicsScene *scene, StatsAxis *xAxis, StatsAxis *yAxis);
|
||||
};
|
||||
|
||||
void addLinearRegression(double a, double b, double res2, double r2, double minX, double maxX, double minY, double maxY, StatsAxis *xAxis, StatsAxis *yAxis);
|
||||
void addLinearRegression(const struct regression_data reg, StatsAxis *xAxis, StatsAxis *yAxis);
|
||||
void addHistogramMarker(double pos, const QPen &pen, bool isHorizontal, StatsAxis *xAxis, StatsAxis *yAxis);
|
||||
|
||||
StatsState state;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue