blob: 9922342eac0f1cebd705dac0ad18e8fd8b692344 [file] [log] [blame]
/* ----------------------------------------------------------------------- *//**
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*//* ----------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
* Test Logistic Regression.
* -------------------------------------------------------------------------- */
DROP TABLE IF EXISTS patients;
CREATE TABLE patients (
id INTEGER NOT NULL,
second_attack INTEGER,
treatment INTEGER,
trait_anxiety INTEGER
);
INSERT INTO patients(ID, second_attack, treatment, trait_anxiety) VALUES
( 1, 1, 1, 70),
( 2, 1, 1, 80),
( 3, 0, 1, 50),
( 4, 0, 0, 60);
-- CHECK : Make sure all possible default values work
drop table if exists result_table;
drop table if exists result_table_summary;
select margins_logregr(
'patients',
'result_table',
'second_attack',
'ARRAY[1, treatment]',
NULL,
NULL,
2,
'irls',
1e-5
);
/* -----------------------------------------------------------------------------
* Test Multinomial Logistic Regression.
* -------------------------------------------------------------------------- */
-- CHECK : Make sure cherry picking marginal values work
drop table if exists result_table;
drop table if exists result_table_summary;
select margins_mlogregr(
'patients',
'result_table',
'second_attack',
'ARRAY[1, treatment]',
0,
NULL,
ARRAY[1, 2],
'max_iter=2, optimizer=newton, tolerance=0.01');