Skip to content
This repository has been archived by the owner on Sep 21, 2022. It is now read-only.

Simple postprocess multiple regression/classification #274

Open
Shoeboxam opened this issue Jul 24, 2020 · 0 comments
Open

Simple postprocess multiple regression/classification #274

Shoeboxam opened this issue Jul 24, 2020 · 0 comments

Comments

@Shoeboxam
Copy link
Member

Shoeboxam commented Jul 24, 2020

There are multiple potential implementations. Here is how a covariance implementation could look. We need the additional components Inverse and Matmul.

Component: Inverse

Arguments

  • data

Component: Matmul

Arguments

  • left
  • right

Options

  • pseudoinverse

Then the top-level component that expands:

Component: DPLinearRegression

Arguments

  • predictors (matrix or dataframe)
  • target (column vector

Options

  • implementation
  • mechanism
  • ddof

The expansion for the 'covariance' implementation could be:

parameters = Matmul(Inverse(DPCovariance(predictors)), DPCovariance(predictors, target))
intercept = DPMean(target) - Matmul(DPMean(predictors), parameters)
ColumnBind(intercept, parameters)

DPCovariance already covers cross-covariance as a special case. We can propagate nulls up from the inverse. To make this quick to implement, we could only allow public data and aggressively drop properties.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant