Loading TOC...

cts:linear-model

cts:linear-model(
   $values as cts:reference*,
   [$options as xs:string*],
   [$query as cts:query?],
   [$forest-ids as xs:unsignedLong*]
) as math:linear-model?

Summary

Returns a linear model that fits the frequency-weighted data set. The input data is a co-occurrence, formed from the specified value lexicons. The length of the input lexicon sequence should be 2, as currently only simple linear regression model is supported. The first lexicon should be the value of the dependent variable while the other lexicon should be the value of the independent variable. This function works like math:linear-model except each pair in the input lexicons is counted cts:frequency times. This function performs the calculation in parallel in all data nodes then aggregates the values.

Parameters
values References to two range indexes. The types of the range indexes must be numeric. If the size of this sequence is not 2, the function returns the empty sequence.
options Same as the "options" parameter in cts:aggregate.
query Same as the "query" parameter in cts:aggregate.
forest-ids Same as the "forest-ids" parameter in cts:aggregate.

Example

xquery version "1.0-ml";
  (:
     This query assumes range indexes of type unsignedLong
     with positions are configured in the database for both
     xval and yval. It generates some sample data and then
     performs the aggregation in a separate transaction.
  :)
for $i in (1 to 10)
let $j := 2*$i + 1
let $uri := concat($i, ".xml")
return
   xdmp:document-insert($uri, <a><xval>{$i}</xval><yval>{$j}</yval></a>);

cts:linear-model(
    (cts:element-reference(xs:QName("yval"), ("type=unsignedLong")),
    cts:element-reference(xs:QName("xval"), ("type=unsignedLong"))),
    "item-frequency")
=>
math:linear-model(
  <math:linear-model intercept="1" coefficients="2" rsquared="1"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:math="http://marklogic.com/xdmp/math"/>)

Stack Overflow iconStack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.