IDAX.GLM - 构建广义线性模型 (GLM)

使用此存储过程可同步或异步构建 GLM 模型。

权限

此语句的授权标识所拥有的特权必须包括 IDAX_USER 角色。

语法

IDAX.GLM(in parameter_string varchar(32672), in synchronous boolean default true)

参数描述

parameter_string
必需的单字符串参数,其中包含以逗号分隔的 <parameter>=<value> 条目对。
数据类型:VARCHAR(32672)
以下列表显示参数值:
model
必需。
要构建的广义线性模型的名称。
数据类型:VARCHAR(64)
intable
必需。
输入表的名称。
数据类型:VARCHAR(128)
id
必需。
输入表的列,用于指示唯一实例标识。
数据类型:VARCHAR(128)
target
要预测值的输入表列的列名。
仅接受数字目标列。
数据类型:NVARCHAR(128)
incolumn
可选。
输入表的列,具有以分号 (;) 分隔的特定属性。
每个列都后跟下列一个或多个属性:
  • 名义类型 (:nom) 或连续类型 (:cont)。缺省情况下,数字类型是连续类型,所有其他类型都是名义类型。
  • 角色“:id”、“:target”、“:input”或“:ignore”。
如果未指定此参数,那么输入表的所有列都具有缺省属性。
缺省值:无
数据类型:VARCHAR(ANY)
coldeftype
可选。
输入表列的缺省类型。
允许的值为“nom”和“cont”。
如果未指定此参数,那么所有数字列都是连续列,而所有其他列都是名义列。
缺省值:无
数据类型:VARCHAR(ANY)
coldefrole
可选。
输入表列的缺省角色。
允许的值为“input”和“ignore”。
如果未指定此参数,那么所有列都是输入列。
缺省值:input
数据类型:VARCHAR(ANY)
intercept
可选。
一个标志,指示是否使用截距值来构建模型。
允许的值为“true”和“false”。
缺省值:true
数据类型:VARCHAR(ANY)
effect
可选。
输入列之间允许的效应或交互的定义。
效应或交互是以分号 (;) 分隔的一列因子或协变量。分类列用作模型中的因子;连续字段用作协变量。
缺省情况下,所有输入列都彼此独立。相互之间不会进行交互。
您可以使用星号 (*) 将因子和协变量组合到一起,并为模型构建嵌套项。对于值不会与另一因子的层次进行交互的因子或协变量,您可使用嵌套项为它们的效应进行建模。例如,杂货连锁店可能会在多个商店位置关注其客户的消费习惯。因为每位客户通常只光顾其中一个商店位置,所以可以认为客户效应嵌套在商店位置效果内。
此外,还可以包括交互效应,例如涉及同一个协变量的多项式项,或者向嵌套项添加多层嵌套。
嵌套项存在下列限制:
  • 在交互中,所有因子都必须是唯一的。因此,如果 A 是因子,那么指定 A*A 无效。
  • 在嵌套效应中,所有因子都必须是唯一的。因此,如果 A 是因子,那么指定 A(A) 无效。
  • 在协变量中不能嵌套任何效应。因此,如果 A 是因子,X 是协变量,那么指定 A(X) 无效。
缺省值:c1; c2; c3; ... cn
其中,c1、c2、c3、... cn 是输入列。
数据类型:VARCHAR(ANY)
family
可选。
分布类型。
允许的值为 bernoulli、gaussian、poisson、binomial、negativebinomial、wald (inversegaussian) 和 gamma。
缺省值:bernoulli
数据类型:VARCHAR(ANY)
link
可选。
关联函数的类型。
允许的值为“clog”、“cloglog”、“gaussit”、“identity”、“log”、“logit”、“oddspower”、“power”、“probit”和“sqrt”。
缺省值:logit
数据类型:VARCHAR(ANY)
link_param
可选。
额外参数,用于关联“oddspower”和“power”。
值的范围取决于所使用的关联函数。
缺省值:1
数据类型:DOUBLE
maxit
可选。
最大迭代次数。
缺省值:20
数据类型:INTEGER
tol
可选。
将一个值视为等于 0 时,线性方程解算器的容差。
缺省值:1e-7
数据类型:DOUBLE
trials
输入表的列,其中包含二项分布试验次数。
当 family 参数的值为 binomial 时,此参数为必需。
对于其他分布,将会忽略此参数。
缺省值:''
数据类型:VARCHAR(ANY)
spark_partitions
可选。
使用输入数据创建的 Spark 分区数。
此数字确定创建模型时采用的并行度。
注: 如果每个分区的行数太小,那么生成的模型可能不精确。对于小型输入数据集,即使是缺省值也可能太大。因此,请显式设置较小的值。
缺省值:可用 CPU 数除以 2。
数据类型:INTEGER
synchronous
可选。
同步或异步执行 GLM 存储过程。
在同步执行中,GLM 存储过程将会等待执行完成。在异步执行中,GLM 过程将在提交后立即返回。
要获取异步执行的 GLM 存储过程的状态和提交标识,请在启动 GLM 存储过程后调用 IDAX.APP_STATUS() 存储过程
要取消异步执行的 GLM 存储过程,请在 GLM 存储过程运行期间调用 IDAX.CANCEL_APP() 存储过程
缺省值:true

返回的信息

此过程不会返回任何 SQL 结果。

示例

CALL IDAX.GLM('model=adult_mdl, intable=adult_train, id=id, target=age, link=identity, family=gaussian');