{
  "slug": "multiple-regression",
  "name": "gizza-ai/multiple-regression",
  "version": "0.1.0",
  "title": "Multiple Linear Regression Calculator — OLS Coefficients, R² & p-values — gizza.ai",
  "description": "Paste a numeric data matrix and fit an OLS multiple regression: coefficients, p-values, confidence intervals, R², adjusted R² and F-test.",
  "tags": [
    "multiple regression calculator",
    "multiple linear regression",
    "ols regression",
    "regression coefficients",
    "r-squared",
    "adjusted r-squared",
    "p-value",
    "f-test",
    "confidence interval",
    "statistics calculator"
  ],
  "category": "data",
  "urls": {
    "page": "https://gizza.ai/tools/multiple-regression/",
    "markdown": "https://gizza.ai/tools/multiple-regression/index.md",
    "descriptor": "https://gizza.ai/tools/multiple-regression/tool.json",
    "deep_link_example": "https://gizza.ai/tools/multiple-regression/?data=1%2C6%0A2%2C8%0A3%2C11%0A4%2C14%0A5%2C18%0A6%2C20&response=last&labels=sqft%2Crooms%2Cprice&intercept=true&conf_level=0.95&format=text"
  },
  "cli": "gizza tool multiple-regression \"1,6\n2,8\n3,11\n4,14\n5,18\n6,20\"",
  "tool": {
    "description": "Fit an ordinary least-squares multiple linear regression on a pasted data matrix (one observation per line; columns split on commas, tabs, semicolons or spaces). Choose which column is the response with response ('last' default, 'first', or a 1-based index) — every other column is a predictor — and optionally name the columns with labels. Returns the fitted equation and a coefficient table (estimate, standard error, t-statistic, two-tailed p-value and confidence interval at conf_level) plus R², adjusted R², residual standard error with its degrees of freedom, and the overall F-test with its p-value. Set intercept=false to force a zero Y-intercept. format='json' additionally returns the per-observation fitted values and residuals. Predictors must be numeric and not perfectly collinear. Runs locally.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "conf_level": {
          "default": 0.95,
          "description": "Confidence level for the coefficient confidence intervals, between 0.5 and 0.9999 (default 0.95). The two-tailed significance level is α = 1 − conf_level.",
          "maximum": 0.9999,
          "minimum": 0.5,
          "type": "number"
        },
        "data": {
          "description": "The data matrix: one observation per line, columns separated by commas, tabs, semicolons or spaces. Every row must have the same number of columns and at least two columns (one or more predictors plus the response), e.g. '1,6\\n2,8\\n3,11'.",
          "type": "string"
        },
        "format": {
          "default": "text",
          "description": "Output format: 'text' (default) = a formatted regression summary with the equation, coefficient table and model statistics; 'json' = the full result as JSON, additionally including the per-observation fitted values and residuals.",
          "enum": [
            "text",
            "json"
          ],
          "type": "string"
        },
        "intercept": {
          "default": true,
          "description": "Fit a constant (Intercept) term (default true). Set false to force the regression line through the origin (zero Y-intercept).",
          "type": "boolean"
        },
        "labels": {
          "description": "Optional comma-separated column names, one per column in data order (e.g. 'sqft,rooms,price'). They name the coefficient rows and the response. Default v1, v2, … .",
          "type": "string"
        },
        "response": {
          "default": "last",
          "description": "Which column is the response (dependent) variable Y: 'last' (default, the rightmost column), 'first', or a 1-based column number. Every other column is treated as a predictor.",
          "type": "string"
        }
      },
      "required": [
        "data"
      ],
      "type": "object"
    }
  }
}