InvertedV

goMortgage

Summary

goMortgage is an app for building models to forecast mortgage performance.

goMortgage is unusual in many dimensions. It’s a one-stop modeling platform that will build both the modeling dataset and the model.

goMortgage:

  • Is a special purpose app.
    goMortgage is an app. The specification of the model (.gom file) is provided to it in a text file. Changing features of the model, the data used to build and validate the model, graphical evaluations of the model are all specified in this file. These are things that change often during a modeling project. With goMortgage, one isn’t hacking into the code to do this.

  • Provides multiple diagnostics
    There are four base types of graphical diagnostics produced by goMortgage:
    • Curves. These are the average model output and target plotted vs another field (e.g. time).
    • KS and Decile plots for categorical targets.
    • Segmented plots. These plots slice the data by the levels of specific field, plottings the model and target average for each slice.
    • Marginal plots. These plots indicate the relation between a feature and the model output “in the large”.

  • Produces live plots
    The graphs are produced using Plotly, meaning they are live. Open them in your browser and hover over anything that looks interesting for more information.

  • Incorporates flexible validations
    You choose the slices and targets to generate diagnostics. Want to check how the model performs state-by-state? No problem. Vintages? Score buckets? Also, no problem.

  • Builds cutting-edge models
    These models are DNN models. Helpful options such as embeddings are supported. The target can be either categorical or continuous. The build algorithm is the gorgonia. package.

  • Produces lightweight models
    The models produced by goMortgage consist of only 3 text files. Two of these specify the model and the third the input features.

  • Produces lightweight model builds
    goMortgage is quite frugal with memory–using millions of observations is possible even in 32GB. However, if memory does prove limiting, the package can be modified to accomodate data streaming.

  • Consdolidates its output
    The output includes the model, diagnostics, a log file and the .gom file the run used.

  • Builds its own data
    goMortgage will build the modeling dataset from source ClickHouse tables.

  • Is written in Go
    Go is a 21st century language. This post has a nice desciption of its advantages.

  • Is open source
    There are example scripts in the scripts directory. The scripts are configured to work with the ClickHouse table for the Fannie Mae data produced by this package. Since goMortgage is open source, it can be customized to other data sets by you.

  • and more!

    Note, that all this being said, goMortgage can be used to fit really any kind of model. The key restriction is that the data resides in ClickHouse.