# shrinkage::QuadraticModelDatafit

Shrinkage for Rust · 0.3.0

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/src/datafit.rs>)

```rust
pub trait QuadraticModelDatafit: DifferentiableDatafit
```

A differentiable loss with nonnegative diagonal working curvature. 

Curvature constructs a local quadratic model; it need not be the observed Hessian. IRLS checks descent and stationarity against the original loss. 

<a id="methods"></a>

## Methods

<a id="method-initial_intercept"></a>

### `initial_intercept`

```rust
fn initial_intercept(&self) -> Result<f64, FitError>
```

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/src/datafit.rs>)

Choose a finite cold-start intercept, leaving existing models at zero. 

<a id="method-initial_intercept-documentation-errors"></a>

#### Errors

Reject invalid responses, link configuration, or initialization. 

<a id="method-valid_predictor"></a>

### `valid_predictor`

```rust
fn valid_predictor(&self, _predictor: &[f64]) -> bool
```

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/src/datafit.rs>)

Whether a predictor lies in the domain of the original loss. 

<a id="method-working_curvature"></a>

### `working_curvature`

```rust
fn working_curvature(
    &self,
    predictor: &[f64],
    output: &mut [f64]
) -> Result<(), FitError>
```

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/src/datafit.rs>)

Write finite, nonnegative curvature using the loss's normalization. 

<a id="method-working_curvature-documentation-errors"></a>

#### Errors

Reject invalid inputs or arithmetic. Output is unspecified after failure. 

<a id="impl-815ceb4aa0d204d07926c516ffb897234cf8d1816bf5e19eb432dee0863d6dec"></a>

## [Implementation of QuadraticModelDatafit](<31d7fcbcbb4b2013239104910cbd830452b304788def6134cdeee718040312eb>)

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/src/datafit/binomial.rs>)

```rust
impl QuadraticModelDatafit for Binomial<'_>
```

<a id="impl-b3ee19232e138a98ca1770a8551a6b3e21bbcf333c0e4073a3b3bf80102fc2b9"></a>

## [Implementation of QuadraticModelDatafit](<31d7fcbcbb4b2013239104910cbd830452b304788def6134cdeee718040312eb>)

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/src/datafit/gaussian.rs>)

```rust
impl QuadraticModelDatafit for Gaussian<'_>
```

<a id="impl-82db59ab9ffd0805e2b1940f575a78a50ddfa3bc535dcc8332ed14aa190eabd5"></a>

## [Implementation of QuadraticModelDatafit](<31d7fcbcbb4b2013239104910cbd830452b304788def6134cdeee718040312eb>)

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/src/datafit/linked.rs>)

```rust
impl<L: Link> QuadraticModelDatafit for LinkedDatafit<shrinkage::Binomial<'_>, L>
```

<a id="impl-92b695677efd37c38e56b33cdf2a1ffcd7a6c8485717ba56798a9e29da100c0d"></a>

## [Implementation of QuadraticModelDatafit](<31d7fcbcbb4b2013239104910cbd830452b304788def6134cdeee718040312eb>)

[Source](<https://github.com/jolars/shrinkage/blob/eeafe449edce19d3c552a03060f681ae3891af74/src/datafit/linked.rs>)

```rust
impl<L: Link> QuadraticModelDatafit for LinkedDatafit<shrinkage::Gaussian<'_>, L>
```
