Skip to content

Conversation

@rsenne
Copy link
Collaborator

@rsenne rsenne commented Dec 22, 2025

PR of the current status of the docs in anticipation of a version bump so that these docs will correspond with the tagged release. These are mostly non-code edits except for a bug fix where I add a barrier to the log likelihood of IPPs to ensure the intensity function remains finite.

Documentation Examples and Tutorials

  • Added two comprehensive example tutorials: Basics.jl (intro to point process modeling and inference) and Inhomogeneous.jl (fitting and customizing inhomogeneous Poisson process models), with code, plots, and explanations. [1] [2]

Documentation Build and Workflow Automation

  • Automated the processing of all example scripts in docs/examples with Literate.jl, converting them to markdown pages in the documentation and dynamically adding them to the docs navigation.
  • Added a local documentation server script (server.jl) using LiveServer for easy live preview during development.

Dependency Management

  • Updated docs/Project.toml to include new documentation and plotting dependencies: Distributions, HypothesisTests, Literate, LiveServer, Plots, SpecialFunctions, StableRNGs, StatsAPI, StatsBase, enabling rich examples and smooth doc builds.

Added an example for fitting inhomogeneous Poisson process models in docs/examples/Inhomogeneous.jl, including custom intensity functions and model comparison. Extended fit methods in src/poisson/inhomogeneous/fit.jl to support unmarked processes and piecewise constant intensity with custom breakpoints. Added test_fix.jl for basic fitting tests. Updated docs/Project.toml with additional dependencies required for examples and documentation.
Enhanced the negative_loglikelihood_ipp function to check for finite and positive intensity values and log-sums, returning Inf for invalid cases. Also updated documentation dependencies and added explanatory comments in the inhomogeneous example.
Integrates Literate.jl to automatically convert example scripts to markdown for documentation, dynamically builds the documentation pages list to include processed examples, and adds a server.jl script using LiveServer for local documentation development. Also adds a new example markdown page and minor cleanup in the Inhomogeneous.jl example.
Enhances the Basics example and documentation by adding a realistic event time dataset, visualizations (raster plot, binned counts, waiting time histogram, QQ plot), and formal statistical tests (KS test) to assess the fit of a homogeneous Poisson process. Also adds HypothesisTests and StatsBase as documentation dependencies. Improves clarity and depth of the tutorial for users learning about point process modeling and inference.
Appended '# hide' to print statements and output lines in Inhomogeneous.jl and Inhomogeneous.md to suppress their display in documentation outputs. Also added 'nothing #hide' in Basics.md to prevent output display, improving the clarity of rendered examples.
Added an active development warning to the index documentation and annotated example output lines in Inhomogeneous.md with '# hide' for improved clarity in rendered examples.
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

JuliaFormatter

[JuliaFormatter] reported by reviewdog 🐶

pp_poly = fit(
PolynomialIntensity{Float64},
h,
[2.0, 0.0, -0.1];
link=:log
)

@codecov
Copy link

codecov bot commented Dec 22, 2025

Codecov Report

❌ Patch coverage is 94.73684% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/poisson/inhomogeneous/fit.jl 94.73% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates documentation for an upcoming version bump and includes a critical bug fix for inhomogeneous Poisson process fitting. The documentation improvements add comprehensive tutorials with examples, automate example processing via Literate.jl, and provide a local development server setup.

Key Changes

  • Bug fix: Enhanced intensity function validation to check for finite values and prevent optimizer failures when fitting polynomial intensity with log link
  • Tutorial additions: Two complete example tutorials demonstrating basic point process modeling and inhomogeneous Poisson process fitting with custom intensity functions
  • Documentation automation: Integrated Literate.jl to automatically process Julia example files into markdown documentation pages

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 19 comments.

Show a summary per file
File Description
src/poisson/inhomogeneous/fit.jl Adds finite value checks to intensity validation and new fit methods for unmarked and piecewise constant processes
docs/src/index.md Comprehensive rewrite with quick start examples, model overview table, and improved getting started section
docs/examples/Basics.jl Tutorial introducing point process fundamentals, simulation, and inference with homogeneous Poisson processes
docs/examples/Inhomogeneous.jl Advanced tutorial on fitting inhomogeneous models and creating custom intensity functions
docs/src/examples/Basics.md Generated markdown from Basics.jl example
docs/src/examples/Inhomogeneous.md Generated markdown from Inhomogeneous.jl example
docs/make.jl Integrates Literate.jl to dynamically process examples and build documentation navigation
docs/server.jl New utility script for local documentation preview using LiveServer
docs/Project.toml Adds dependencies for plotting, statistics, and documentation generation
test_fix.jl Test script demonstrating the intensity validation bug fix

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@rsenne
Copy link
Collaborator Author

rsenne commented Dec 22, 2025

This should be good to go modulo one uncovered line contingent on a positive review

Copy link
Owner

@JoseKling JoseKling left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Merging for version bump.

@JoseKling JoseKling merged commit c1c6cf2 into main Dec 23, 2025
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants