# filters.lof¶

Local Outlier Factor (LOF) was introduced as a method of determining the degree to which an object is an outlier. This filter is an implementation of the method described in [Breunig2000].

The filter creates three new dimensions, all of which are doubles. The
`KDistance`

dimension records the Euclidean distance between a point and it’s
`k-th`

nearest neighbor (the number of `k`

neighbors is set with the
`minpts`

option). The `LocalReachabilityDistance`

is the inverse of the mean
of all reachability distances for a neighborhood of points. This reachability
distance is defined as the max of the Euclidean distance to a neighboring point
and that neighbor’s own previously computed `KDistance`

. Finally, each point
has a `LocalOutlierFactor`

which is the mean of all
`LocalReachabilityDistance`

values for the neighborhood. In each case, the
neighborhood is the set of `k`

nearest neighbors, where `k`

is set with the
`minpts`

option.

In practice, setting the `minpts`

parameter appropriately and subsequently
filtering outliers based on the computed `LocalOutlierFactor`

can be
difficult. The authors present some work on establishing upper and lower bounds
on LOF values, and provide some guidelines on selecting `minpts`

values, which
users of `filters.lof`

should find instructive.

Note

To inspect the newly created, non-standard dimensions, be sure to write to an output format that can support arbitrary dimensions, such as BPF.

[Breunig2000] | Breunig, M.M., Kriegel, H.-P., Ng, R.T., Sander, J., 2000. LOF: Identifying Density-Based Local Outliers. Proc. 2000 Acm Sigmod Int. Conf. Manag. Data 1–12. |

## Example¶

The sample pipeline below uses `filters.lof`

to compute the LOF with a neighborhood of 20 neighbors, followed by a range filter to crop out points whose `LocalOutlierFactor`

exceeds 1.2, before writing the output.

```
{
"pipeline":[
"input.las",
{
"type":"filters.lof",
"minpts":20
},
{
"type":"filters.range",
"limits":"LocalOutlierFactor[:1.2]"
},
"output.laz"
]
}
```

## Options¶

- minpts
- The number of k nearest neighbors. [Default:
**10**]