Как цитировать или ссылаться на коды программирования в магистерской диссертации, не связанной с компьютерными науками?

Я пишу диссертацию в области финансов и использую методы машинного обучения. Поэтому я написал множество скриптов на Python и R для сбора данных, их очистки и применения некоторой статистики.

  1. я должен ссылаться на свой собственный код, который я написал? если да, то не могли бы вы сказать мне, как?
  2. я должен ссылаться на все библиотеки, которые я использовал во время моей работы?

Спасибо

Ответы (4)

Стандартный способ — загрузить код в общедоступный репозиторий, чтобы каждый мог использовать ваш код. В диссертации вы можете сослаться на свой репозиторий в сноске/концевой сноске.

Что вам действительно нужно процитировать, так это статьи/книги, которые в первую очередь знакомят с используемыми методами. Необходимость цитирования библиотеки возникает, когда она имеет определенную конфигурацию и, вероятно, выдает другой результат, например метод, требующий вероятностной выборки. Здесь вывод будет отличаться в зависимости от используемого метода.

Возвращаясь к вашему делу и отвечая на ваши вопросы:

  1. Вы можете опубликовать все материалы своей работы в общедоступном репозитории и сослаться на него, указав ссылку (желательно в сноске). Непрофессионально добавлять код в приложение (если только он не короткий и в псевдокоде).
  2. Вам нужно цитировать не библиотеки, а документы методов, которые реализованы в этих библиотеках. Если библиотека имеет конкретную конфигурацию, вы можете упомянуть об этом в тексте или процитировать библиотеку (очень редкие случаи).
Почему непрофессионально добавлять код в приложение ?
@ corey979 Не могли бы вы прочитать код? ты бы перепечатал? Я почти уверен, что никто этого делать не будет. Возможно, это случалось в прошлом, но не с наличием публичных репозиториев и других платформ. Обычно люди добавляют алгоритмы (и только если они короткие и разрабатываются в рамках опубликованной работы), а не программные коды.
Копирование-вставка из .pdf не должно быть проблемой. Но да, я вижу, что раньше это имело больше смысла, а теперь у нас есть github. Тем не менее, я бы не назвал это непрофессиональным. А также добавление фрагмента кода (скажем, длиной не более 1 страницы) в приложение может быть в некоторых ситуациях оправданным, например, для демонстрации заинтересованному читателю (но не слишком заинтересованному) способов практической реализации математической концепции, описанной в тексте — математики. и их компьютерные реализации иногда кажутся из разных миров. Я думаю, что из каждого правила могут быть исключения.
@ corey979 Corey979 Я не согласен с тем, что это оправдано в зависимости от ситуации. Я до сих пор не могу представить сценарий, когда прог. нужен код. Если псевдокод, то да оправдан (только при некоторых обстоятельствах). прог. коду нужно больше, чем просто строки кода, а другая внешняя информация (например, vrsn языка прог.). Также прог. стиль отличается от ученого к другому (здесь мы не говорим о разработчиках программного обеспечения), и в большинстве случаев код понимает в основном его разработчик. Для меня оправданные ситуации очень ограничены и могут рассматриваться как исключения из общего случая.
Возможно, вам не следует добавлять весь свой код, но некоторые из наиболее важных функций, возможно, стоит включить в приложение. Эмпирическое правило: поместите туда код, на который читатель может захотеть взглянуть во время чтения вашей рукописи, чтобы он мог сравнить описание алгоритмов с реальной реализацией.
Что касается цитат, позволю себе не согласиться. Во многих случаях разработчиками научных библиотек являются практикующие ученые, которые решили поделиться своим кодом на благо других. Проверьте домашнюю страницу и/или код и/или документацию библиотек и проверьте, есть ли у них информация о цитировании. Иногда это URL. Следующее хорошее решение — заархивировать код на zenodo/figshare, чтобы он имел DOI. В некоторых библиотеках есть журнальные статьи, которые я очень рекомендую цитировать.

Как уже упоминалось, публикация вашего кода в общедоступном репозитории и указание ссылки в вашей диссертации в настоящее время является стандартной практикой. Однако вам следует сначала поговорить со своим руководителем, чтобы убедиться, что при выполнении вашей работы нет проблем с интеллектуальной собственностью (например, если вы используете фрагмент кода, написанный кем-то еще в команде, который не находится под свободной лицензией).

Также вы, вероятно, прочитали несколько статей по машинному обучению, когда разрабатывали свое программное обеспечение; эти документы могут предоставить вам хорошие примеры того, что вам нужно объяснить о вашем коде в самой диссертации: не слишком много технических подробностей, конечно, но достаточно информации, чтобы читатель мог понять общий метод (и в идеале воспроизвести его).

Некоторые библиотеки ML просят пользователей, публикующих работу на основе библиотеки, цитировать конкретную статью, что обычно указывается в лицензии библиотеки.

В диссертацию вы можете включить свой собственный код в виде приложения. Для стандартных библиотек нет необходимости цитировать их, но для других вещей это рекомендуется делать. Это позволяет другим следить за вашей работой. Если сомневаетесь, дайте ссылку.

Если ваш код слишком обширен для включения, вы можете опубликовать его в архиве и процитировать там, хотя я бы предпочел включить его.

Вы также можете указать свой собственный код как неопубликованную работу или незавершенную работу, если это уместно. Конечно, любой, кто в этом нуждается, должен связаться с вами лично.

Ваш код не является вашей диссертацией. Обычно от вас требуется только опубликовать диссертацию. Вы также можете опубликовать свой код и упомянуть его в своей диссертации, если хотите. Если вы используете другой (научный) код и библиотеки, полезно упомянуть об этом, особенно в разделах, посвященных тестированию времени выполнения и тому подобным.

Там вы должны использовать цитату, предложенную на домашней странице библиотеки, которая иногда ссылается на источник и часто на статьи, которые реализованы в источнике. Если нет рекомендуемой ссылки, обычно достаточно указать ссылку на проект с помощью URL-адреса. Вы, конечно, можете попробовать сами написать красивую библиографическую запись для кода, который, очевидно, заслуживает надлежащего цитирования, т. е. авторы действительно написали новый алгоритм.