Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Paper: RoughPy #904

Open
wants to merge 11 commits into
base: 2024
Choose a base branch
from

Conversation

inakleinbottle
Copy link

@inakleinbottle inakleinbottle commented May 21, 2024

If you are creating this PR in order to submit a draft of your paper, please name your PR with Paper: <title>. An editor will then add a paper label and GitHub Actions will be run to check and build your paper.

See the project readme for more information.

Editor: Charles Lindsey @cdlindsey

Reviewers:

@cbcunc cbcunc added the paper This indicates that the PR in question is a paper label May 21, 2024
Copy link

github-actions bot commented May 21, 2024

Curvenote Preview

Directory Preview Checks Updated (UTC)
papers/sam_morley 🔍 Inspect 66 checks passed (7 optional) May 22, 2024, 8:25 AM

Copy link
Collaborator

@PaulJWright PaulJWright left a comment

Choose a reason for hiding this comment

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

Firstly I would like to apologise to the authors as the subject of this paper is outwith my wheelhouse, and as such have provided minor comments where I believe this will help the manuscript.

Review:

This manuscript describes RoughPy, a Python package for viewing streams of data through the lens of rough paths and using the tools and techniques of signatures. The manuscript is well-written and clear, with good accompanying documentation at https://roughpy.org/.

The codebase at https://github.com/datasig-ac-uk/RoughPy seems complete with well-written documentation, testing (including automated testing through Github Actions), and regular releases. There are currently no outstanding issues (https://github.com/datasig-ac-uk/RoughPy/issues) that cause concern, however, it would be nice to merge in datasig-ac-uk/RoughPy#91 or an equivalent. The inclusion of an issue template is noted and appreciated.

I am personally unsure of the reasoning behind the tests/build (windows-2019) failure in the CI:

FAILED tests/streams/test_lie_increment_path.py::test_from_array_width_3_2_increments - AssertionError: { 1() 3/3(1) 7(2) 1(3) } != { 1() 3(1) 7(2) 1(3) }

while ubuntu-latest/macos-11 pass, but would encourage the authors to investigate a fix to this issue.

Rough path theory gives us tools to work with sequential, ordered data in a
mathematically rigorous way, which should provide a means to overcome some of
the inherent complexity of the data.
In this paper, we introduce a new package *RoughPy* for working with sequential
Copy link
Collaborator

Choose a reason for hiding this comment

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

While later in the manuscript you refer to DataSig:

DataSig website (https://datasig.ac.uk/examples).

I think you may be missing a link to the RoughPy Github page or website in this manuscript

Traditionally, these data are tricky to work with because of the exponential
complexity and different scales of the underlying process.
Until recently, with the development of transformers and large language models,
it has been difficult to capture the long-term pattern whist also capturing the
Copy link
Collaborator

Choose a reason for hiding this comment

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

typo of "whilst"?

Comment on lines +595 to +610
### Example
In this section we show a very simple example of how to use RoughPy to construct
a stream and compute a signature.
This example is similar to the first few steps of the tutorial found in the
RoughPy documentation.[^roughpydocs]
We refer the reader to this documentation for much more detail.
We will construct a stream in $\mathbb{R}^{26}$ by taking each letter in a word,
"scipy" in this example, as the increments of a path:
```python
import numpy as np

text = "scipy"
increments = np.zeros((5, 26), dtype="int8")
for i, c in enumerate(text):
increments[i, ord(c) - 97] = 1
```
Copy link
Collaborator

Choose a reason for hiding this comment

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

It could be useful for someone glancing through the manuscript to know that it is pip installable!

Copy link
Author

Choose a reason for hiding this comment

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

Thanks so much for your comments. I completely forgot to merge the code of conduct, thanks for reminding me.

The failed CI on Windows is a very frustrating bug in the Windows compilation of the GNU Multiprecision library, and it is a royal pain that comes and goes seemingly at random. I don't yet have a reason why it fails.

I shall fix the issues that you have highlighted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
paper This indicates that the PR in question is a paper ready-for-review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants