You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ct...@apache.org on 2021/01/28 16:33:32 UTC
svn commit: r1070647 [20/35] - in
/websites/production/lucene/content/solr/guide/8_8: ./
images/math-expressions/ meta-docs/
Modified: websites/production/lucene/content/solr/guide/8_8/query-re-ranking.html
==============================================================================
--- websites/production/lucene/content/solr/guide/8_8/query-re-ranking.html (original)
+++ websites/production/lucene/content/solr/guide/8_8/query-re-ranking.html Thu Jan 28 16:33:25 2021
@@ -8,7 +8,7 @@
<meta name="description" content="">
<meta name="keywords" content=" ">
-<title>Query Re-Ranking | Apache Solr Reference Guide 8.8-DRAFT</title>
+<title>Query Re-Ranking | Apache Solr Reference Guide 8.8</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
@@ -68,7 +68,7 @@
</script>
</head>
-<body class="DRAFT" id="query-re-ranking">
+<body class="" id="query-re-ranking">
<div class="container-fluid">
<div class="row">
<nav id="sidebar" class="col-2 d-none d-md-block">
@@ -76,11 +76,6 @@
<div class="sidebar-header">
<div class="sidebarTitle text-center">Apache Solr Reference Guide</div>
- <p class="draft-notice">
- This is an unofficial DRAFT of the Guide for 8.8.
- <a href="https://lucene.apache.org/solr/guide/">Official releases are available from the Solr website</a>.
- </p>
-
<!--comment out this block if you want to hide search-->
<!--start search-->
@@ -872,11 +867,36 @@
</li>
<li class="sb-level2">
- <a href="math-expressions.html">Math Expressions</a>
+ <a href="math-expressions.html">Streaming Expressions and Math Expressions</a>
<ul>
<li class="sb-level3">
+ <a href="visualization.html">Visualization</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="math-start.html">Getting Started</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="loading.html">Loading Data</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="search-sample.html">Searching, Sampling and Aggregation</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="transform.html">Transforming Data</a>
+
+ </li>
+
+ <li class="sb-level3">
<a href="scalar-math.html">Scalar Math</a>
</li>
@@ -897,12 +917,12 @@
</li>
<li class="sb-level3">
- <a href="vectorization.html">Streams and Vectorization</a>
+ <a href="term-vectors.html">Text Analysis and Term Vectors</a>
</li>
<li class="sb-level3">
- <a href="term-vectors.html">Text Analysis and Term Vectors</a>
+ <a href="probability-distributions.html">Probability Distributions</a>
</li>
@@ -912,12 +932,12 @@
</li>
<li class="sb-level3">
- <a href="probability-distributions.html">Probability Distributions</a>
+ <a href="regression.html">Linear Regression</a>
</li>
<li class="sb-level3">
- <a href="simulations.html">Monte Carlo Simulations</a>
+ <a href="curve-fitting.html">Curve Fitting</a>
</li>
@@ -927,32 +947,32 @@
</li>
<li class="sb-level3">
- <a href="regression.html">Linear Regression</a>
+ <a href="numerical-analysis.html">Interpolation, Derivatives and Integrals</a>
</li>
<li class="sb-level3">
- <a href="numerical-analysis.html">Interpolation, Derivatives and Integrals</a>
+ <a href="dsp.html">Digital Signal Processing</a>
</li>
<li class="sb-level3">
- <a href="curve-fitting.html">Curve Fitting</a>
+ <a href="simulations.html">Monte Carlo Simulations</a>
</li>
<li class="sb-level3">
- <a href="dsp.html">Digital Signal Processing</a>
+ <a href="machine-learning.html">Machine Learning</a>
</li>
<li class="sb-level3">
- <a href="machine-learning.html">Machine Learning</a>
+ <a href="computational-geometry.html">Computational Geometry</a>
</li>
<li class="sb-level3">
- <a href="computational-geometry.html">Computational Geometry</a>
+ <a href="logs.html">Log Analytics</a>
</li>
@@ -1707,7 +1727,7 @@
<div class="row">
<div class="col-lg-12 footer">
©2021 Apache Software Foundation. All rights reserved. <br />
- Site Version: 8.8-DRAFT <br />Site last generated: 2021-01-19 <br />
+ Site Version: 8.8 <br />Site last generated: 2021-01-28 <br />
<p><img src="images/solr-sunOnly-small.png" alt="Apache Solr"/></p>
</div>
</div>
Modified: websites/production/lucene/content/solr/guide/8_8/query-screen.html
==============================================================================
--- websites/production/lucene/content/solr/guide/8_8/query-screen.html (original)
+++ websites/production/lucene/content/solr/guide/8_8/query-screen.html Thu Jan 28 16:33:25 2021
@@ -8,7 +8,7 @@
<meta name="description" content="">
<meta name="keywords" content=" ">
-<title>Query Screen | Apache Solr Reference Guide 8.8-DRAFT</title>
+<title>Query Screen | Apache Solr Reference Guide 8.8</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
@@ -68,7 +68,7 @@
</script>
</head>
-<body class="DRAFT" id="query-screen">
+<body class="" id="query-screen">
<div class="container-fluid">
<div class="row">
<nav id="sidebar" class="col-2 d-none d-md-block">
@@ -76,11 +76,6 @@
<div class="sidebar-header">
<div class="sidebarTitle text-center">Apache Solr Reference Guide</div>
- <p class="draft-notice">
- This is an unofficial DRAFT of the Guide for 8.8.
- <a href="https://lucene.apache.org/solr/guide/">Official releases are available from the Solr website</a>.
- </p>
-
<!--comment out this block if you want to hide search-->
<!--start search-->
@@ -872,11 +867,36 @@
</li>
<li class="sb-level2">
- <a href="math-expressions.html">Math Expressions</a>
+ <a href="math-expressions.html">Streaming Expressions and Math Expressions</a>
<ul>
<li class="sb-level3">
+ <a href="visualization.html">Visualization</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="math-start.html">Getting Started</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="loading.html">Loading Data</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="search-sample.html">Searching, Sampling and Aggregation</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="transform.html">Transforming Data</a>
+
+ </li>
+
+ <li class="sb-level3">
<a href="scalar-math.html">Scalar Math</a>
</li>
@@ -897,12 +917,12 @@
</li>
<li class="sb-level3">
- <a href="vectorization.html">Streams and Vectorization</a>
+ <a href="term-vectors.html">Text Analysis and Term Vectors</a>
</li>
<li class="sb-level3">
- <a href="term-vectors.html">Text Analysis and Term Vectors</a>
+ <a href="probability-distributions.html">Probability Distributions</a>
</li>
@@ -912,12 +932,12 @@
</li>
<li class="sb-level3">
- <a href="probability-distributions.html">Probability Distributions</a>
+ <a href="regression.html">Linear Regression</a>
</li>
<li class="sb-level3">
- <a href="simulations.html">Monte Carlo Simulations</a>
+ <a href="curve-fitting.html">Curve Fitting</a>
</li>
@@ -927,32 +947,32 @@
</li>
<li class="sb-level3">
- <a href="regression.html">Linear Regression</a>
+ <a href="numerical-analysis.html">Interpolation, Derivatives and Integrals</a>
</li>
<li class="sb-level3">
- <a href="numerical-analysis.html">Interpolation, Derivatives and Integrals</a>
+ <a href="dsp.html">Digital Signal Processing</a>
</li>
<li class="sb-level3">
- <a href="curve-fitting.html">Curve Fitting</a>
+ <a href="simulations.html">Monte Carlo Simulations</a>
</li>
<li class="sb-level3">
- <a href="dsp.html">Digital Signal Processing</a>
+ <a href="machine-learning.html">Machine Learning</a>
</li>
<li class="sb-level3">
- <a href="machine-learning.html">Machine Learning</a>
+ <a href="computational-geometry.html">Computational Geometry</a>
</li>
<li class="sb-level3">
- <a href="computational-geometry.html">Computational Geometry</a>
+ <a href="logs.html">Log Analytics</a>
</li>
@@ -1697,7 +1717,7 @@
<div class="row">
<div class="col-lg-12 footer">
©2021 Apache Software Foundation. All rights reserved. <br />
- Site Version: 8.8-DRAFT <br />Site last generated: 2021-01-19 <br />
+ Site Version: 8.8 <br />Site last generated: 2021-01-28 <br />
<p><img src="images/solr-sunOnly-small.png" alt="Apache Solr"/></p>
</div>
</div>
Modified: websites/production/lucene/content/solr/guide/8_8/query-settings-in-solrconfig.html
==============================================================================
--- websites/production/lucene/content/solr/guide/8_8/query-settings-in-solrconfig.html (original)
+++ websites/production/lucene/content/solr/guide/8_8/query-settings-in-solrconfig.html Thu Jan 28 16:33:25 2021
@@ -8,7 +8,7 @@
<meta name="description" content="">
<meta name="keywords" content=" ">
-<title>Query Settings in SolrConfig | Apache Solr Reference Guide 8.8-DRAFT</title>
+<title>Query Settings in SolrConfig | Apache Solr Reference Guide 8.8</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
@@ -68,7 +68,7 @@
</script>
</head>
-<body class="DRAFT" id="query-settings-in-solrconfig">
+<body class="" id="query-settings-in-solrconfig">
<div class="container-fluid">
<div class="row">
<nav id="sidebar" class="col-2 d-none d-md-block">
@@ -76,11 +76,6 @@
<div class="sidebar-header">
<div class="sidebarTitle text-center">Apache Solr Reference Guide</div>
- <p class="draft-notice">
- This is an unofficial DRAFT of the Guide for 8.8.
- <a href="https://lucene.apache.org/solr/guide/">Official releases are available from the Solr website</a>.
- </p>
-
<!--comment out this block if you want to hide search-->
<!--start search-->
@@ -872,11 +867,36 @@
</li>
<li class="sb-level2">
- <a href="math-expressions.html">Math Expressions</a>
+ <a href="math-expressions.html">Streaming Expressions and Math Expressions</a>
<ul>
<li class="sb-level3">
+ <a href="visualization.html">Visualization</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="math-start.html">Getting Started</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="loading.html">Loading Data</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="search-sample.html">Searching, Sampling and Aggregation</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="transform.html">Transforming Data</a>
+
+ </li>
+
+ <li class="sb-level3">
<a href="scalar-math.html">Scalar Math</a>
</li>
@@ -897,12 +917,12 @@
</li>
<li class="sb-level3">
- <a href="vectorization.html">Streams and Vectorization</a>
+ <a href="term-vectors.html">Text Analysis and Term Vectors</a>
</li>
<li class="sb-level3">
- <a href="term-vectors.html">Text Analysis and Term Vectors</a>
+ <a href="probability-distributions.html">Probability Distributions</a>
</li>
@@ -912,12 +932,12 @@
</li>
<li class="sb-level3">
- <a href="probability-distributions.html">Probability Distributions</a>
+ <a href="regression.html">Linear Regression</a>
</li>
<li class="sb-level3">
- <a href="simulations.html">Monte Carlo Simulations</a>
+ <a href="curve-fitting.html">Curve Fitting</a>
</li>
@@ -927,32 +947,32 @@
</li>
<li class="sb-level3">
- <a href="regression.html">Linear Regression</a>
+ <a href="numerical-analysis.html">Interpolation, Derivatives and Integrals</a>
</li>
<li class="sb-level3">
- <a href="numerical-analysis.html">Interpolation, Derivatives and Integrals</a>
+ <a href="dsp.html">Digital Signal Processing</a>
</li>
<li class="sb-level3">
- <a href="curve-fitting.html">Curve Fitting</a>
+ <a href="simulations.html">Monte Carlo Simulations</a>
</li>
<li class="sb-level3">
- <a href="dsp.html">Digital Signal Processing</a>
+ <a href="machine-learning.html">Machine Learning</a>
</li>
<li class="sb-level3">
- <a href="machine-learning.html">Machine Learning</a>
+ <a href="computational-geometry.html">Computational Geometry</a>
</li>
<li class="sb-level3">
- <a href="computational-geometry.html">Computational Geometry</a>
+ <a href="logs.html">Log Analytics</a>
</li>
@@ -1839,7 +1859,7 @@ to the JVM. The enabled flag can be used
<div class="row">
<div class="col-lg-12 footer">
©2021 Apache Software Foundation. All rights reserved. <br />
- Site Version: 8.8-DRAFT <br />Site last generated: 2021-01-19 <br />
+ Site Version: 8.8 <br />Site last generated: 2021-01-28 <br />
<p><img src="images/solr-sunOnly-small.png" alt="Apache Solr"/></p>
</div>
</div>
Modified: websites/production/lucene/content/solr/guide/8_8/query-syntax-and-parsing.html
==============================================================================
--- websites/production/lucene/content/solr/guide/8_8/query-syntax-and-parsing.html (original)
+++ websites/production/lucene/content/solr/guide/8_8/query-syntax-and-parsing.html Thu Jan 28 16:33:25 2021
@@ -8,7 +8,7 @@
<meta name="description" content="">
<meta name="keywords" content=" ">
-<title>Query Syntax and Parsing | Apache Solr Reference Guide 8.8-DRAFT</title>
+<title>Query Syntax and Parsing | Apache Solr Reference Guide 8.8</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
@@ -68,7 +68,7 @@
</script>
</head>
-<body class="DRAFT" id="query-syntax-and-parsing">
+<body class="" id="query-syntax-and-parsing">
<div class="container-fluid">
<div class="row">
<nav id="sidebar" class="col-2 d-none d-md-block">
@@ -76,11 +76,6 @@
<div class="sidebar-header">
<div class="sidebarTitle text-center">Apache Solr Reference Guide</div>
- <p class="draft-notice">
- This is an unofficial DRAFT of the Guide for 8.8.
- <a href="https://lucene.apache.org/solr/guide/">Official releases are available from the Solr website</a>.
- </p>
-
<!--comment out this block if you want to hide search-->
<!--start search-->
@@ -872,11 +867,36 @@
</li>
<li class="sb-level2">
- <a href="math-expressions.html">Math Expressions</a>
+ <a href="math-expressions.html">Streaming Expressions and Math Expressions</a>
<ul>
<li class="sb-level3">
+ <a href="visualization.html">Visualization</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="math-start.html">Getting Started</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="loading.html">Loading Data</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="search-sample.html">Searching, Sampling and Aggregation</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="transform.html">Transforming Data</a>
+
+ </li>
+
+ <li class="sb-level3">
<a href="scalar-math.html">Scalar Math</a>
</li>
@@ -897,12 +917,12 @@
</li>
<li class="sb-level3">
- <a href="vectorization.html">Streams and Vectorization</a>
+ <a href="term-vectors.html">Text Analysis and Term Vectors</a>
</li>
<li class="sb-level3">
- <a href="term-vectors.html">Text Analysis and Term Vectors</a>
+ <a href="probability-distributions.html">Probability Distributions</a>
</li>
@@ -912,12 +932,12 @@
</li>
<li class="sb-level3">
- <a href="probability-distributions.html">Probability Distributions</a>
+ <a href="regression.html">Linear Regression</a>
</li>
<li class="sb-level3">
- <a href="simulations.html">Monte Carlo Simulations</a>
+ <a href="curve-fitting.html">Curve Fitting</a>
</li>
@@ -927,32 +947,32 @@
</li>
<li class="sb-level3">
- <a href="regression.html">Linear Regression</a>
+ <a href="numerical-analysis.html">Interpolation, Derivatives and Integrals</a>
</li>
<li class="sb-level3">
- <a href="numerical-analysis.html">Interpolation, Derivatives and Integrals</a>
+ <a href="dsp.html">Digital Signal Processing</a>
</li>
<li class="sb-level3">
- <a href="curve-fitting.html">Curve Fitting</a>
+ <a href="simulations.html">Monte Carlo Simulations</a>
</li>
<li class="sb-level3">
- <a href="dsp.html">Digital Signal Processing</a>
+ <a href="machine-learning.html">Machine Learning</a>
</li>
<li class="sb-level3">
- <a href="machine-learning.html">Machine Learning</a>
+ <a href="computational-geometry.html">Computational Geometry</a>
</li>
<li class="sb-level3">
- <a href="computational-geometry.html">Computational Geometry</a>
+ <a href="logs.html">Log Analytics</a>
</li>
@@ -1692,7 +1712,7 @@
<div class="row">
<div class="col-lg-12 footer">
©2021 Apache Software Foundation. All rights reserved. <br />
- Site Version: 8.8-DRAFT <br />Site last generated: 2021-01-19 <br />
+ Site Version: 8.8 <br />Site last generated: 2021-01-28 <br />
<p><img src="images/solr-sunOnly-small.png" alt="Apache Solr"/></p>
</div>
</div>
Modified: websites/production/lucene/content/solr/guide/8_8/realtime-get.html
==============================================================================
--- websites/production/lucene/content/solr/guide/8_8/realtime-get.html (original)
+++ websites/production/lucene/content/solr/guide/8_8/realtime-get.html Thu Jan 28 16:33:25 2021
@@ -8,7 +8,7 @@
<meta name="description" content="">
<meta name="keywords" content=" ">
-<title>RealTime Get | Apache Solr Reference Guide 8.8-DRAFT</title>
+<title>RealTime Get | Apache Solr Reference Guide 8.8</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
@@ -68,7 +68,7 @@
</script>
</head>
-<body class="DRAFT" id="realtime-get">
+<body class="" id="realtime-get">
<div class="container-fluid">
<div class="row">
<nav id="sidebar" class="col-2 d-none d-md-block">
@@ -76,11 +76,6 @@
<div class="sidebar-header">
<div class="sidebarTitle text-center">Apache Solr Reference Guide</div>
- <p class="draft-notice">
- This is an unofficial DRAFT of the Guide for 8.8.
- <a href="https://lucene.apache.org/solr/guide/">Official releases are available from the Solr website</a>.
- </p>
-
<!--comment out this block if you want to hide search-->
<!--start search-->
@@ -872,11 +867,36 @@
</li>
<li class="sb-level2">
- <a href="math-expressions.html">Math Expressions</a>
+ <a href="math-expressions.html">Streaming Expressions and Math Expressions</a>
<ul>
<li class="sb-level3">
+ <a href="visualization.html">Visualization</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="math-start.html">Getting Started</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="loading.html">Loading Data</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="search-sample.html">Searching, Sampling and Aggregation</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="transform.html">Transforming Data</a>
+
+ </li>
+
+ <li class="sb-level3">
<a href="scalar-math.html">Scalar Math</a>
</li>
@@ -897,12 +917,12 @@
</li>
<li class="sb-level3">
- <a href="vectorization.html">Streams and Vectorization</a>
+ <a href="term-vectors.html">Text Analysis and Term Vectors</a>
</li>
<li class="sb-level3">
- <a href="term-vectors.html">Text Analysis and Term Vectors</a>
+ <a href="probability-distributions.html">Probability Distributions</a>
</li>
@@ -912,12 +932,12 @@
</li>
<li class="sb-level3">
- <a href="probability-distributions.html">Probability Distributions</a>
+ <a href="regression.html">Linear Regression</a>
</li>
<li class="sb-level3">
- <a href="simulations.html">Monte Carlo Simulations</a>
+ <a href="curve-fitting.html">Curve Fitting</a>
</li>
@@ -927,32 +947,32 @@
</li>
<li class="sb-level3">
- <a href="regression.html">Linear Regression</a>
+ <a href="numerical-analysis.html">Interpolation, Derivatives and Integrals</a>
</li>
<li class="sb-level3">
- <a href="numerical-analysis.html">Interpolation, Derivatives and Integrals</a>
+ <a href="dsp.html">Digital Signal Processing</a>
</li>
<li class="sb-level3">
- <a href="curve-fitting.html">Curve Fitting</a>
+ <a href="simulations.html">Monte Carlo Simulations</a>
</li>
<li class="sb-level3">
- <a href="dsp.html">Digital Signal Processing</a>
+ <a href="machine-learning.html">Machine Learning</a>
</li>
<li class="sb-level3">
- <a href="machine-learning.html">Machine Learning</a>
+ <a href="computational-geometry.html">Computational Geometry</a>
</li>
<li class="sb-level3">
- <a href="computational-geometry.html">Computational Geometry</a>
+ <a href="logs.html">Log Analytics</a>
</li>
@@ -1790,7 +1810,7 @@ http://localhost:8983/api/collections/te
<div class="row">
<div class="col-lg-12 footer">
©2021 Apache Software Foundation. All rights reserved. <br />
- Site Version: 8.8-DRAFT <br />Site last generated: 2021-01-19 <br />
+ Site Version: 8.8 <br />Site last generated: 2021-01-28 <br />
<p><img src="images/solr-sunOnly-small.png" alt="Apache Solr"/></p>
</div>
</div>
Modified: websites/production/lucene/content/solr/guide/8_8/regression.html
==============================================================================
--- websites/production/lucene/content/solr/guide/8_8/regression.html (original)
+++ websites/production/lucene/content/solr/guide/8_8/regression.html Thu Jan 28 16:33:25 2021
@@ -8,7 +8,7 @@
<meta name="description" content="">
<meta name="keywords" content=" ">
-<title>Linear Regression | Apache Solr Reference Guide 8.8-DRAFT</title>
+<title>Linear Regression | Apache Solr Reference Guide 8.8</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
@@ -68,7 +68,7 @@
</script>
</head>
-<body class="DRAFT" id="regression">
+<body class="" id="regression">
<div class="container-fluid">
<div class="row">
<nav id="sidebar" class="col-2 d-none d-md-block">
@@ -76,11 +76,6 @@
<div class="sidebar-header">
<div class="sidebarTitle text-center">Apache Solr Reference Guide</div>
- <p class="draft-notice">
- This is an unofficial DRAFT of the Guide for 8.8.
- <a href="https://lucene.apache.org/solr/guide/">Official releases are available from the Solr website</a>.
- </p>
-
<!--comment out this block if you want to hide search-->
<!--start search-->
@@ -872,11 +867,36 @@
</li>
<li class="sb-level2">
- <a href="math-expressions.html">Math Expressions</a>
+ <a href="math-expressions.html">Streaming Expressions and Math Expressions</a>
<ul>
<li class="sb-level3">
+ <a href="visualization.html">Visualization</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="math-start.html">Getting Started</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="loading.html">Loading Data</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="search-sample.html">Searching, Sampling and Aggregation</a>
+
+ </li>
+
+ <li class="sb-level3">
+ <a href="transform.html">Transforming Data</a>
+
+ </li>
+
+ <li class="sb-level3">
<a href="scalar-math.html">Scalar Math</a>
</li>
@@ -897,12 +917,12 @@
</li>
<li class="sb-level3">
- <a href="vectorization.html">Streams and Vectorization</a>
+ <a href="term-vectors.html">Text Analysis and Term Vectors</a>
</li>
<li class="sb-level3">
- <a href="term-vectors.html">Text Analysis and Term Vectors</a>
+ <a href="probability-distributions.html">Probability Distributions</a>
</li>
@@ -912,12 +932,12 @@
</li>
<li class="sb-level3">
- <a href="probability-distributions.html">Probability Distributions</a>
+ <a href="regression.html">Linear Regression</a>
</li>
<li class="sb-level3">
- <a href="simulations.html">Monte Carlo Simulations</a>
+ <a href="curve-fitting.html">Curve Fitting</a>
</li>
@@ -927,32 +947,32 @@
</li>
<li class="sb-level3">
- <a href="regression.html">Linear Regression</a>
+ <a href="numerical-analysis.html">Interpolation, Derivatives and Integrals</a>
</li>
<li class="sb-level3">
- <a href="numerical-analysis.html">Interpolation, Derivatives and Integrals</a>
+ <a href="dsp.html">Digital Signal Processing</a>
</li>
<li class="sb-level3">
- <a href="curve-fitting.html">Curve Fitting</a>
+ <a href="simulations.html">Monte Carlo Simulations</a>
</li>
<li class="sb-level3">
- <a href="dsp.html">Digital Signal Processing</a>
+ <a href="machine-learning.html">Machine Learning</a>
</li>
<li class="sb-level3">
- <a href="machine-learning.html">Machine Learning</a>
+ <a href="computational-geometry.html">Computational Geometry</a>
</li>
<li class="sb-level3">
- <a href="computational-geometry.html">Computational Geometry</a>
+ <a href="logs.html">Log Analytics</a>
</li>
@@ -1657,13 +1677,16 @@
<li><a href="#simple-linear-regression">Simple Linear Regression</a>
<ul class="sectlevel2">
<li><a href="#prediction">Prediction</a></li>
+<li><a href="#regression-plot">Regression Plot</a></li>
<li><a href="#residuals">Residuals</a></li>
+<li><a href="#residual-plot">Residual Plot</a></li>
</ul>
</li>
<li><a href="#multivariate-linear-regression">Multivariate Linear Regression</a>
<ul class="sectlevel2">
<li><a href="#prediction-2">Prediction</a></li>
<li><a href="#residuals-2">Residuals</a></li>
+<li><a href="#residual-plot-2">Residual Plot</a></li>
</ul>
</li>
</ul>
@@ -1676,59 +1699,59 @@
between two random variables. Sample observations are provided with two
numeric arrays. The first numeric array is the independent variable and
the second array is the dependent variable.</p>
-<p>In the example below the <code>random</code> function selects 5000 random samples each containing
+<p>In the example below the <code>random</code> function selects 50000 random samples each containing
the fields <code>filesize_d</code> and <code>response_d</code>. The two fields are vectorized
-and stored in variables <strong><code>b</code></strong> and <strong><code>c</code></strong>. Then the <code>regress</code> function performs a regression
+and stored in variables <code>x</code> and <code>y</code>. Then the <code>regress</code> function performs a regression
analysis on the two numeric arrays.</p>
<p>The <code>regress</code> function returns a single tuple with the results of the regression
analysis.</p>
-<div class="listingblock"><pre class="rouge highlight"><code class="language-text" data-lang="text"><pre class="highlight"><code>let(a=random(collection2, q="*:*", rows="5000", fl="filesize_d, response_d"),
- b=col(a, filesize_d),
- c=col(a, response_d),
- d=regress(b, c))</code></pre></code></pre></div>
+<div class="listingblock"><pre class="rouge highlight"><code class="language-text" data-lang="text"><pre class="highlight"><code>let(a=random(logs, q="*:*", rows="50000", fl="filesize_d, response_d"),
+ x=col(a, filesize_d),
+ y=col(a, response_d),
+ r=regress(x, y))</code></pre></code></pre></div>
<p>Note that in this regression analysis the value of <code>RSquared</code> is <code>.75</code>. This means that changes in
<code>filesize_d</code> explain 75% of the variability of the <code>response_d</code> variable:</p>
<div class="listingblock"><pre class="rouge highlight"><code class="language-json" data-lang="json"><pre class="highlight"><code><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"result-set"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"docs"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"d"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"significance"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">0</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"totalSumSquares"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">10564812.895147054</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"R"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">0.8674822407146515</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"RSquared"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">0.7525254379553127</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"meanSquareError"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">523.1137343558588</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"intercept"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">-49.528134913099095</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"slopeConfidenceInterval"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">0.0003171801710329995</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"regressionSumSquares"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">7950290.450836472</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"slope"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">0.019945557923159506</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"interceptStdErr"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">6.489732340389941</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"N"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">5000</span><span style="color: #bbbbbb">
- </span><span style="background-color: #f8f8f8">}</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"significance"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">0</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"totalSumSquares"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">96595678.64838874</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"R"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">0.9052835767815126</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"RSquared"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">0.8195383543903288</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"meanSquareError"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">348.6502485633668</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"intercept"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">55.64040842391729</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"slopeConfidenceInterval"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">0.0000822026526346821</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"regressionSumSquares"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">79163863.52071753</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"slope"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">0.019984612363694493</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"interceptStdErr"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">1.6792610845256566</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"N"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">50000</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">},</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"EOF"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #000000;font-weight: bold">true</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"RESPONSE_TIME"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">98</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"RESPONSE_TIME"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">344</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">}</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">]</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">}</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">}</span></code></pre></code></pre></div>
+<p>The diagnostics can be visualized in a table using Zeppelin-Solr.</p>
+<div class="imageblock"><img src="images/math-expressions/diagnostics.png" alt="diagnostics"></div>
<section class="sect2"><h3 id="prediction">Prediction</h3><p>The <code>predict</code> function uses the regression model to make predictions.
Using the example above the regression model can be used to predict the value
of <code>response_d</code> given a value for <code>filesize_d</code>.</p>
<p>In the example below the <code>predict</code> function uses the regression analysis to predict
the value of <code>response_d</code> for the <code>filesize_d</code> value of <code>40000</code>.</p>
-<div class="listingblock"><pre class="rouge highlight"><code class="language-text" data-lang="text"><pre class="highlight"><code>let(a=random(collection2, q="*:*", rows="5000", fl="filesize_d, response_d"),
- b=col(a, filesize_d),
- c=col(a, response_d),
- d=regress(b, c),
- e=predict(d, 40000))</code></pre></code></pre></div>
+<div class="listingblock"><pre class="rouge highlight"><code class="language-text" data-lang="text"><pre class="highlight"><code>let(a=random(logs, q="*:*", rows="5000", fl="filesize_d, response_d"),
+ x=col(a, filesize_d),
+ y=col(a, response_d),
+ r=regress(x, y),
+ p=predict(r, 40000))</code></pre></code></pre></div>
<p>When this expression is sent to the <code>/stream</code> handler it responds with:</p>
<div class="listingblock"><pre class="rouge highlight"><code class="language-json" data-lang="json"><pre class="highlight"><code><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"result-set"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"docs"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"e"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">748.079241022975</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"p"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">748.079241022975</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">},</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"EOF"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #000000;font-weight: bold">true</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
@@ -1742,17 +1765,17 @@ case it returns an array of predictions.
<p>In the example below the <code>predict</code> function uses the regression analysis to
predict values for each of the 5000 samples of <code>filesize_d</code> used to generate the model.
In this case 5000 predictions are returned.</p>
-<div class="listingblock"><pre class="rouge highlight"><code class="language-text" data-lang="text"><pre class="highlight"><code>let(a=random(collection2, q="*:*", rows="5000", fl="filesize_d, response_d"),
- b=col(a, filesize_d),
- c=col(a, response_d),
- d=regress(b, c),
- e=predict(d, b))</code></pre></code></pre></div>
+<div class="listingblock"><pre class="rouge highlight"><code class="language-text" data-lang="text"><pre class="highlight"><code>let(a=random(logs, q="*:*", rows="5000", fl="filesize_d, response_d"),
+ x=col(a, filesize_d),
+ y=col(a, response_d),
+ r=regress(x, y),
+ p=predict(r, x))</code></pre></code></pre></div>
<p>When this expression is sent to the <code>/stream</code> handler it responds with:</p>
<div class="listingblock"><pre class="rouge highlight"><code class="language-json" data-lang="json"><pre class="highlight"><code><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"result-set"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"docs"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"e"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"p"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
</span><span style="color: #009999">742.2525322514165</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
</span><span style="color: #009999">709.6972488729955</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
</span><span style="color: #009999">687.8382568904871</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
@@ -1763,8 +1786,7 @@ In this case 5000 predictions are return
</span><span style="color: #009999">699.5597256337142</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
</span><span style="color: #009999">742.4738911248204</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
</span><span style="color: #009999">769.0342605881644</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">746.6740473150268</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #a61717;background-color: #e3d2d2">...</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">746.6740473150268</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">]</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">},</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
@@ -1774,19 +1796,24 @@ In this case 5000 predictions are return
</span><span style="background-color: #f8f8f8">]</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">}</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">}</span></code></pre></code></pre></div></section>
+<section class="sect2"><h3 id="regression-plot">Regression Plot</h3><p>Using <code>zplot</code> and the Zeppelin-Solr interpreter we can visualize both the observations and the predictions in
+the same scatter plot.
+In the example below <code>zplot</code> is plotting the <code>filesize_d</code> observations on the
+x-axis, the <code>response_d</code> observations on the y-axis and the predictions on the y1-axis.</p>
+<div class="imageblock"><img src="images/math-expressions/linear.png" alt="linear"></div></section>
<section class="sect2"><h3 id="residuals">Residuals</h3><p>The difference between the observed value and the predicted value is known as the
residual. There isn’t a specific function to calculate the residuals but vector
math can used to perform the calculation.</p>
-<p>In the example below the predictions are stored in variable <strong><code>e</code></strong>. The <code>ebeSubtract</code>
+<p>In the example below the predictions are stored in variable <code>p</code>. The <code>ebeSubtract</code>
function is then used to subtract the predictions
-from the actual <code>response_d</code> values stored in variable <strong><code>c</code></strong>. Variable <strong><code>f</code></strong> contains
+from the actual <code>response_d</code> values stored in variable <code>y</code>. Variable <code>e</code> contains
the array of residuals.</p>
-<div class="listingblock"><pre class="rouge highlight"><code class="language-text" data-lang="text"><pre class="highlight"><code>let(a=random(collection2, q="*:*", rows="5000", fl="filesize_d, response_d"),
- b=col(a, filesize_d),
- c=col(a, response_d),
- d=regress(b, c),
- e=predict(d, b),
- f=ebeSubtract(c, e))</code></pre></code></pre></div>
+<div class="listingblock"><pre class="rouge highlight"><code class="language-text" data-lang="text"><pre class="highlight"><code>let(a=random(logs, q="*:*", rows="500", fl="filesize_d, response_d"),
+ x=col(a, filesize_d),
+ y=col(a, response_d),
+ r=regress(x, y),
+ p=predict(r, x),
+ e=ebeSubtract(y, p))</code></pre></code></pre></div>
<p>When this expression is sent to the <code>/stream</code> handler it responds with:</p>
<div class="listingblock"><pre class="rouge highlight"><code class="language-json" data-lang="json"><pre class="highlight"><code><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"result-set"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
@@ -1805,8 +1832,7 @@ the array of residuals.</p>
</span><span style="color: #009999">-30.213178859683012</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
</span><span style="color: #009999">-30.609943619066826</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
</span><span style="color: #009999">10.527700442607625</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">10.68046928406568</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #a61717;background-color: #e3d2d2">...</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">10.68046928406568</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">]</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">},</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
@@ -1815,66 +1841,74 @@ the array of residuals.</p>
</span><span style="background-color: #f8f8f8">}</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">]</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">}</span><span style="color: #bbbbbb">
-</span><span style="background-color: #f8f8f8">}</span></code></pre></code></pre></div></section></section>
+</span><span style="background-color: #f8f8f8">}</span></code></pre></code></pre></div></section>
+<section class="sect2"><h3 id="residual-plot">Residual Plot</h3><p>Using <code>zplot</code> and Zeppelin-Solr we can visualize the residuals with
+a residuals plot. The example residual plot below plots the predicted value on the
+x-axis and the error of the prediction on the y-axis.</p>
+<div class="imageblock"><img src="images/math-expressions/residual-plot.png" alt="residual plot"></div>
+<p>The residual plot can be used to interpret reliability of the model. Three things to look for are:</p>
+<div class="olist arabic"><ol class="arabic"><li>Do the residuals appear to be normally distributed with a mean of 0?
+This makes it easier to interpret the results of the model to determine if the distribution of the errors is acceptable for predictions.
+It also makes it easier to use a model of the residuals for anomaly detection on new predictions.</li><li>Do the residuals appear to be <strong>heteroscedastic</strong>?
+Which means is the variance of the residuals the same across the range of predictions?
+By plotting the prediction on the x-axis and error on y-axis we can see if the variability stays the same as the predictions get higher.
+If the residuals are heteroscedastic it means that we can trust the models error to be consistent across the range of predictions.</li><li>Is there any pattern to the residuals? If so there is likely still a signal within the data that needs to be modeled.</li></ol></div></section></section>
<section class="sect1"><h2 id="multivariate-linear-regression">Multivariate Linear Regression</h2><p>The <code>olsRegress</code> function performs a multivariate linear regression analysis. Multivariate linear
regression models the linear relationship between two or more independent variables and a dependent variable.</p>
<p>The example below extends the simple linear regression example by introducing a new independent variable
-called <code>service_d</code>. The <code>service_d</code> variable is the service level of the request and it can range from 1 to 4
-in the data-set. The higher the service level, the higher the bandwidth available for the request.</p>
-<p>Notice that the two independent variables <code>filesize_d</code> and <code>service_d</code> are vectorized and stored
-in the variables <strong><code>b</code></strong> and <strong><code>c</code></strong>. The variables <strong><code>b</code></strong> and <strong><code>c</code></strong> are then added as rows to a <code>matrix</code>. The matrix is
+called <code>load_d</code>. The <code>load_d</code> variable is the load on the network while the file is being downloaded.</p>
+<p>Notice that the two independent variables <code>filesize_d</code> and <code>load_d</code> are vectorized and stored
+in the variables <code>b</code> and <code>c</code>. The variables <code>b</code> and <code>c</code> are then added as rows to a <code>matrix</code>. The matrix is
then transposed so that each row in the matrix represents one observation with <code>filesize_d</code> and <code>service_d</code>.
The <code>olsRegress</code> function then performs the multivariate regression analysis using the observation matrix as the
independent variables and the <code>response_d</code> values, stored in variable <strong><code>d</code></strong>, as the dependent variable.</p>
-<div class="listingblock"><pre class="rouge highlight"><code class="language-text" data-lang="text"><pre class="highlight"><code>let(a=random(collection2, q="*:*", rows="30000", fl="filesize_d, service_d, response_d"),
- b=col(a, filesize_d),
- c=col(a, service_d),
- d=col(a, response_d),
- e=transpose(matrix(b, c)),
- f=olsRegress(e, d))</code></pre></code></pre></div>
-<p>Notice in the response that the RSquared of the regression analysis is 1. This means that linear relationship between
+<div class="listingblock"><pre class="rouge highlight"><code class="language-text" data-lang="text"><pre class="highlight"><code>let(a=random(testapp, q="*:*", rows="30000", fl="filesize_d, load_d, response_d"),
+ x=col(a, filesize_d),
+ y=col(a, load_d),
+ z=col(a, response_d),
+ m=transpose(matrix(x, y)),
+ r=olsRegress(m, z))</code></pre></code></pre></div>
+<p>Notice in the response that the <code>RSquared</code> of the regression analysis is <code>1</code>. This means that linear relationship between
<code>filesize_d</code> and <code>service_d</code> describe 100% of the variability of the <code>response_d</code> variable:</p>
<div class="listingblock"><pre class="rouge highlight"><code class="language-json" data-lang="json"><pre class="highlight"><code><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"result-set"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"docs"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"f"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"regressionParametersStandardErrors"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">2.0660690430026933e-13</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">5.1212982077663434e-18</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">9.10920932555875e-15</span><span style="color: #bbbbbb">
- </span><span style="background-color: #f8f8f8">],</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"RSquared"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">1</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"regressionParameters"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">6.553210695971329e-12</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">0.019999999999999858</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">-20.49999999999968</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"regressionParametersStandardErrors"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">1.7792032752524236</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">0.0000429945089590394</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">0.0008592489428291642</span><span style="color: #bbbbbb">
+ </span><span style="background-color: #f8f8f8">],</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"RSquared"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">0.8850359458670845</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"regressionParameters"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">0.7318766882597804</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">0.01998298784650873</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">0.10982104952105468</span><span style="color: #bbbbbb">
+ </span><span style="background-color: #f8f8f8">],</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"regressandVariance"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">1938.8190758686717</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"regressionParametersVariance"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
+ </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">0.014201127587649602</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">-3.326633951803927e-7</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">-0.000001732754417954437</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">],</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"regressandVariance"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">2124.130825172683</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"regressionParametersVariance"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
- </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">0.013660174897582315</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">-3.361258014840509e-7</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">-0.00006893737578369605</span><span style="color: #bbbbbb">
- </span><span style="background-color: #f8f8f8">],</span><span style="color: #bbbbbb">
- </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">-3.361258014840509e-7</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">8.393183709503206e-12</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">6.430253229589981e-11</span><span style="color: #bbbbbb">
- </span><span style="background-color: #f8f8f8">],</span><span style="color: #bbbbbb">
- </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">-0.00006893737578369605</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">6.430253229589981e-11</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">0.000026553878455570856</span><span style="color: #bbbbbb">
- </span><span style="background-color: #f8f8f8">]</span><span style="color: #bbbbbb">
+ </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">-3.326633951803927e-7</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">8.292732891338694e-12</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">2.0407522508189773e-12</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">],</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"adjustedRSquared"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">1</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"residualSumSquares"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">9.373703759269822e-20</span><span style="color: #bbbbbb">
- </span><span style="background-color: #f8f8f8">}</span><span style="color: #bbbbbb">
+ </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">-0.000001732754417954437</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">2.0407522508189773e-12</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">3.3121477630934995e-9</span><span style="color: #bbbbbb">
+ </span><span style="background-color: #f8f8f8">]</span><span style="color: #bbbbbb">
+ </span><span style="background-color: #f8f8f8">],</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"adjustedRSquared"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">0.8850282808303053</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"residualSumSquares"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">6686612.141261716</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">},</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"EOF"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #000000;font-weight: bold">true</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"RESPONSE_TIME"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">690</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"RESPONSE_TIME"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">374</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">}</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">]</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">}</span><span style="color: #bbbbbb">
@@ -1882,24 +1916,24 @@ independent variables and the <code>resp
<section class="sect2"><h3 id="prediction-2">Prediction</h3><p>The <code>predict</code> function can also be used to make predictions for multivariate linear regression.</p>
<p>Below is an example of a single prediction using the multivariate linear regression model and a single observation.
The observation is an array that matches the structure of the observation matrix used to build the model. In this case
-the first value represents a <code>filesize_d</code> of <code>40000</code> and the second value represents a <code>service_d</code> of <code>4</code>.</p>
-<div class="listingblock"><pre class="rouge highlight"><code class="language-text" data-lang="text"><pre class="highlight"><code>let(a=random(collection2, q="*:*", rows="5000", fl="filesize_d, service_d, response_d"),
- b=col(a, filesize_d),
- c=col(a, service_d),
- d=col(a, response_d),
- e=transpose(matrix(b, c)),
- f=olsRegress(e, d),
- g=predict(f, array(40000, 4)))</code></pre></code></pre></div>
+the first value represents a <code>filesize_d</code> of <code>40000</code> and the second value represents a <code>load_d</code> of <code>4</code>.</p>
+<div class="listingblock"><pre class="rouge highlight"><code class="language-text" data-lang="text"><pre class="highlight"><code>let(a=random(logs, q="*:*", rows="5000", fl="filesize_d, load_d, response_d"),
+ x=col(a, filesize_d),
+ y=col(a, load_d),
+ z=col(a, response_d),
+ m=transpose(matrix(x, y)),
+ r=olsRegress(m, z),
+ p=predict(r, array(40000, 4)))</code></pre></code></pre></div>
<p>When this expression is sent to the <code>/stream</code> handler it responds with:</p>
<div class="listingblock"><pre class="rouge highlight"><code class="language-json" data-lang="json"><pre class="highlight"><code><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"result-set"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"docs"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"g"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">718.0000000000005</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"p"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">801.7725344814675</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">},</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"EOF"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #000000;font-weight: bold">true</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"RESPONSE_TIME"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">117</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"RESPONSE_TIME"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">70</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">}</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">]</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">}</span><span style="color: #bbbbbb">
@@ -1908,31 +1942,31 @@ the first value represents a <code>files
an observation matrix used.</p>
<p>In the example below the observation matrix used to build the multivariate regression model
is passed to the <code>predict</code> function and it returns an array of predictions.</p>
-<div class="listingblock"><pre class="rouge highlight"><code class="language-text" data-lang="text"><pre class="highlight"><code>let(a=random(collection2, q="*:*", rows="5000", fl="filesize_d, service_d, response_d"),
- b=col(a, filesize_d),
- c=col(a, service_d),
- d=col(a, response_d),
- e=transpose(matrix(b, c)),
- f=olsRegress(e, d),
- g=predict(f, e))</code></pre></code></pre></div>
+<div class="listingblock"><pre class="rouge highlight"><code class="language-text" data-lang="text"><pre class="highlight"><code>let(a=random(logs, q="*:*", rows="5000", fl="filesize_d, load_d, response_d"),
+ x=col(a, filesize_d),
+ y=col(a, load_d),
+ z=col(a, response_d),
+ m=transpose(matrix(x, y)),
+ r=olsRegress(m, z),
+ p=predict(r, m))</code></pre></code></pre></div>
<p>When this expression is sent to the <code>/stream</code> handler it responds with:</p>
<div class="listingblock"><pre class="rouge highlight"><code class="language-json" data-lang="json"><pre class="highlight"><code><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"result-set"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"docs"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
- </span><span style="color: #000080">"e"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">685.498283591961</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">801.2175699959365</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">776.7638245911025</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">610.3559852681935</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">751.0925865965207</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">787.2914663381897</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">744.3632053810668</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">688.3729301599697</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">765.367783417171</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">724.9309687628346</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">834.4350712384264</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #a61717;background-color: #e3d2d2">...</span><span style="color: #bbbbbb">
+ </span><span style="color: #000080">"p"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">917.7122088913725</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">900.5418518783401</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">871.7805676516689</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">822.1887964840801</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">828.0842807117554</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">785.1262470470162</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">833.2583851225845</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">802.016811579941</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">841.5253327135974</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">896.9648275225625</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">858.6511235977382</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">869.8381475112501</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">]</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">},</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
@@ -1945,33 +1979,32 @@ is passed to the <code>predict</code> fu
<section class="sect2"><h3 id="residuals-2">Residuals</h3><p>Once the predictions are generated the residuals can be calculated using the same approach used with
simple linear regression.</p>
<p>Below is an example of the residuals calculation following a multivariate linear regression. In the example
-the predictions stored variable <strong><code>g</code></strong> are subtracted from observed values stored in variable <strong><code>d</code></strong>.</p>
-<div class="listingblock"><pre class="rouge highlight"><code class="language-text" data-lang="text"><pre class="highlight"><code>let(a=random(collection2, q="*:*", rows="5000", fl="filesize_d, service_d, response_d"),
- b=col(a, filesize_d),
- c=col(a, service_d),
- d=col(a, response_d),
- e=transpose(matrix(b, c)),
- f=olsRegress(e, d),
- g=predict(f, e),
- h=ebeSubtract(d, g))</code></pre></code></pre></div>
+the predictions stored variable <code>g</code> are subtracted from observed values stored in variable <code>d</code>.</p>
+<div class="listingblock"><pre class="rouge highlight"><code class="language-text" data-lang="text"><pre class="highlight"><code>let(a=random(logs, q="*:*", rows="5000", fl="filesize_d, load_d, response_d"),
+ x=col(a, filesize_d),
+ y=col(a, load_d),
+ z=col(a, response_d),
+ m=transpose(matrix(x, y)),
+ r=olsRegress(m, z),
+ p=predict(r, m),
+ e=ebeSubtract(z, p))</code></pre></code></pre></div>
<p>When this expression is sent to the <code>/stream</code> handler it responds with:</p>
<div class="listingblock"><pre class="rouge highlight"><code class="language-json" data-lang="json"><pre class="highlight"><code><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"result-set"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"docs"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
</span><span style="color: #000080">"e"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">[</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">1.1368683772161603e-13</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">1.1368683772161603e-13</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">0</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">1.1368683772161603e-13</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">0</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">1.1368683772161603e-13</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">0</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">2.2737367544323206e-13</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">1.1368683772161603e-13</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">2.2737367544323206e-13</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #009999">1.1368683772161603e-13</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
- </span><span style="color: #a61717;background-color: #e3d2d2">...</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">21.452271655340496</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">9.647947283595727</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">-23.02328008866334</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">-13.533046479596806</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">-16.1531952414299</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">4.966514036315402</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">23.70151322413119</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">-4.276176642246014</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">10.781062392156628</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">0.00039750380267378205</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb">
+ </span><span style="color: #009999">-1.8307638852961645</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">]</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">},</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb">
@@ -1980,7 +2013,11 @@ the predictions stored variable <strong>
</span><span style="background-color: #f8f8f8">}</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">]</span><span style="color: #bbbbbb">
</span><span style="background-color: #f8f8f8">}</span><span style="color: #bbbbbb">
-</span><span style="background-color: #f8f8f8">}</span></code></pre></code></pre></div></section></section>
+</span><span style="background-color: #f8f8f8">}</span></code></pre></code></pre></div></section>
+<section class="sect2"><h3 id="residual-plot-2">Residual Plot</h3><p>The residual plot for multi-variate linear regression is the same as for simple linear regression.
+The predictions are plotted on the x-axis and the error is plotted on the y-axis.</p>
+<div class="imageblock"><img src="images/math-expressions/residual-plot2.png" alt="residual plot2"></div>
+<p>The residual plot for multi-variate linear regression can be interpreted in the exact same way as simple linear regression.</p></section></section>
</section>
@@ -1995,10 +2032,10 @@ the predictions stored variable <strong>
<nav class="scrollnav row">
<div class="col-lg-12">
- <a class="btn btn-primary prev float-left" href="time-series.html">Time Series</a>
+ <a class="btn btn-primary prev float-left" href="statistics.html">Statistics</a>
- <a class="btn btn-primary next float-right" href="numerical-analysis.html">Interpolation, Derivatives and Integrals</a>
+ <a class="btn btn-primary next float-right" href="curve-fitting.html">Curve Fitting</a>
</div>
</nav>
@@ -2010,7 +2047,7 @@ the predictions stored variable <strong>
<div class="row">
<div class="col-lg-12 footer">
©2021 Apache Software Foundation. All rights reserved. <br />
- Site Version: 8.8-DRAFT <br />Site last generated: 2021-01-19 <br />
+ Site Version: 8.8 <br />Site last generated: 2021-01-28 <br />
<p><img src="images/solr-sunOnly-small.png" alt="Apache Solr"/></p>
</div>
</div>