# shrinkage::NullModelDatafit

Shrinkage for Rust · 0.3.0

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

```rust
pub trait NullModelDatafit
```

An exact zero-coefficient model with optimized, unpenalized intercepts. 

This opt-in capability is independent of fitting arbitrary explicit paths. 

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

## Methods

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

### `deviance`

```rust
fn deviance(&self, _predictor: &[f64]) -> Result<Option<f64>, FitError>
```

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

Evaluate twice the loss above its saturated value, averaged over rows. Return `None` when deviance is unavailable; automatic paths then fit their entire sequence. Support must be consistent across predictors. 

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

#### Errors

Reject invalid responses, predictors, or nonfinite arithmetic. 

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

### `null_intercepts`

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

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

Return one finite optimization-scale intercept per response, or zero for each disabled intercept. Validate the response before returning. 

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

#### Errors

Reject invalid responses or a null model without a finite optimum. 

<a id="impl-99015c7b77ede372098646ac004b3ffd9c9c55691c6e77e1979530f2e758ade4"></a>

## [Implementation of NullModelDatafit](<12ebbf9584faa968bb3fcbf1175e4e131dd6c7466b719c62ad9d7628739d9dac>)

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

```rust
impl NullModelDatafit for shrinkage::Binomial<'_>
```

<a id="impl-9bd4ac4e9c26a5118cecdeac50efb67c5f6c42e002b718e07933ceff77d636a1"></a>

## [Implementation of NullModelDatafit](<12ebbf9584faa968bb3fcbf1175e4e131dd6c7466b719c62ad9d7628739d9dac>)

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

```rust
impl NullModelDatafit for shrinkage::Gaussian<'_>
```

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

## [Implementation of NullModelDatafit](<12ebbf9584faa968bb3fcbf1175e4e131dd6c7466b719c62ad9d7628739d9dac>)

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

```rust
impl NullModelDatafit for shrinkage::MultivariateGaussian<'_>
```

<a id="impl-0bac582721d181d754ed4090f439fd14ea946fbf5ad992729cbed425af01c1bc"></a>

## [Implementation of NullModelDatafit](<12ebbf9584faa968bb3fcbf1175e4e131dd6c7466b719c62ad9d7628739d9dac>)

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

```rust
impl<'a, L: ConvexLink<shrinkage::Binomial<'a>>> NullModelDatafit for LinkedDatafit<shrinkage::Binomial<'a>, L>
```

<a id="impl-634894904c9b60f006abb5640c6be9b2e21e47bd89d209c89d96bd1a46edaa91"></a>

## [Implementation of NullModelDatafit](<12ebbf9584faa968bb3fcbf1175e4e131dd6c7466b719c62ad9d7628739d9dac>)

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

```rust
impl<'a, L: ConvexLink<shrinkage::Gaussian<'a>>> NullModelDatafit for LinkedDatafit<shrinkage::Gaussian<'a>, L>
```
