Цифровая экономика: спрос на компетенции и инновации

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

Рубрика Экономика и экономическая теория
Вид курсовая работа
Язык русский
Дата добавления 10.08.2020
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Для сквозной модели предполагается следующая функциональная зависимость:

(5)

где- цифровые навыки, наиболее востребованные на рынке труда.

Таким образом, применение сквозной модели релевантно. Стоит обратить внимание на преимущества и ограничения выбранной регрессионной модели. С одной стороны, LASSO принимает во внимание коллинеарность переменных, а также позволяет получить легко интерпретируемые коэффициенты. Более того, интерпретация оценок LASSO отлично согласуется с исследовательским вопросом. Однако LASSO не учитывает цензурированность зависимой переменной, а распределение расходов на НИОКР имеет ярко выраженную правостороннюю асимметрию. Тем не менее, использование моделей, учитывающих цензурированность (например, модели тобит II), осложнено строгими требованиями, которым должны удовлетворять переменные. Во-первых, для того чтобы правильно оценить коэффициенты методом максимального правдоподобия, зависимая переменная должна иметь нормальное распределение, что чаще всего не выполняется. При этом при расчете коэффициентов обычным МНК нормальность зависимой переменной требуется лишь для корректного расчета доверительных интервалов, что нерелевантно в случае LASSO. Во-вторых, модель тобит II состоит из двух уравнений: в первом зависимая переменная является бинарной (в случае НИОКР переменная равна 1, если затраты больше нуля), во втором - непрерывной. При этом в первом уравнении должны присутствовать переменные, не связанные с зависимой переменной второго уравнения (Clark and Houle, 2012). Данное условие также не выполняется: в соответствии с теоретическим обоснованием, переменные навыков могут быть связаны как с решением фирмы инвестировать в НИОКР, так и с величиной расходов; утверждение также верно для контрольных переменных. Следовательно, модель тобит II имеет предпосылки, противоречащие дизайну и исследовательскому вопросу настоящей работы. Таким образом, наиболее подходящей моделью является LASSO с неотрицательными коэффициентами.

В следующем разделе будут описаны результаты количественного анализа вакансий и выводы, полученные с помощью регрессионного анализа.

3. Описание результатов

3.1 Результаты анализа текстов вакансий

Первую часть исследования составляет анализ вакансий компаний и формирование списка наиболее востребованных цифровых навыков. Всего было проанализировано 118680 вакансий за период с 2003 по 2018 год. Цифровые навыки, пользующиеся высоким спросом среди работодателей, представлены в таблице 6.

Таблица 6

Результаты количественного анализа текстов вакансий

Навык

Количество упоминаний

Excel

16360

1C

8885

SAP

6991

SQL

4404

Oracle

3582

PowerPoint

2045

Access

1531

CRM

1467

AutoCAD

1462

Java

1094

В таблице представлены 10 самых востребованных навыков; полный список цифровых компетенций, использованных в качестве независимых переменных исследования, их подробное описание и разделение на группы представлены в Приложении 1. Большую часть компетенций таблицы составляют навыки промежуточного уровня (к ним можно отнести PowerPoint и Excel), навыки, относящиеся к управлению внутренними процессами фирмы и базами данных. Данный вывод достаточно логичен, так как цифровые компетенции промежуточного уровня востребованы в различных сферах деятельности человека, а базы данных и автоматизация внутренних процессов являются неотъемлемыми аспектами современной корпоративной среды.

Таблица 7 показывает количество упоминаний для каждой группы компетенций. MS Excel представлен отдельно, так как количество упоминаний соответствующего навыка достаточно велико. Кроме того, различные специалисты используют данную программу по-разному.

Таблица 7

Суммарное количество упоминаний компетенций каждой группы

Группа

Количество упоминаний

Управление внутренними процессами фирмы

18417

MS Excel

16360

Управление базами данных

9517

Web-технологии

3085

Другое

2358

Графические редакторы и моделирование

2259

Программирование

2062

Разработка и поддержка операционных систем

1475

Количественный анализ позволяет сделать некоторые выводы по первой гипотезе исследования: «навыки, связанные с управлением базами данных, наиболее популярны среди крупнейших российских компаний». Наиболее востребованными являются компетенции, относящиеся к управлению внутренними процессами фирмы. Однако количество упоминаний MS Excel достаточно велико, и данную программу также можно использовать для хранения данных. Тем не менее, Excel не позволяет объединять таблицы данных в базы. Следовательно, первую гипотезу можно опровергнуть: несмотря на то, что количество упоминаний навыков, связанных с управлением базами данных, велико, данная группа компетенций не является самой востребованной в выборке.

Необходимо отметить значимость компетенций, связанных с организацией работы фирмы. Данная группа цифровых навыков также упоминается в исследованиях, посвященных рынку труда, например, в Markow et al., 2018. Таким образом, результаты количественного анализа текстов не противоречат теоретическому обоснованию.

Далее рассмотрим результаты применения модели сквозной регрессии с регуляризацией.

3.2 Результаты регрессионного анализа

Модель была оценена с помощью команды LassoCV языка Python и повторно проверена с выбранным значением параметра лямбда с помощью пакета glmnet языка R. Рассчитанный с помощью кросс-валидации гиперпараметр лямбда составил 1,296. Коэффициенты регрессии, рассчитанные glmnet, представлены в таблице 8.

Таблица 8

Коэффициенты регрессии

Переменная

Коэффициент

Ликвидность

103,27

ALM

24,88

Django

3

Кол-во патентов

1,61

Выручка

3.67

Модель LASSO «сжимает» незначимые коэффициенты до нуля. Таким образом, было отобрано 5 факторов из 45. Расчет стандартных ошибок для модели с регуляризацией не требуется (Goeman, 2018); так как модель игнорирует незначимые коэффициенты; качество модели можно проверить, рассчитав коэффициент детерминации на тестовой выборке. Коэффициент детерминации на тренировочной выборке составил 0,75; на тестовой - 0,83. Следовательно, модель хорошо описывает и предсказывает взаимодействие переменных.

Процесс отбора факторов при изменении гиперпараметра лямбда изображен на рисунке 3. Так как коэффициенты сильно отличаются друг от друга, по графику сложно отследить изменение каждого показателя. Однако рисунок позволяет сделать несколько важных выводов относительно значимости некоторых факторов.

Рис. 3. Расчет коэффициентов регрессии в зависимости от значения гиперпараметра лямбда. Выбранное моделью значение соответствует Log Lambda ? 0,26

Во-первых, лишь два цифровых навыка оказались значимы - ALM и Django. Компетенции связаны с разработкой сайтов и программного обеспечения. Следовательно, вторую гипотезу о значимости навыков, связанных с аналитикой данных, можно опровергнуть. Данная гипотеза опиралась на здравый смысл и не была проверена ранее.

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

Рассмотрим контрольные переменные подробнее. Помимо ликвидности, значимыми контрольными переменными оказались выручка и количество патентов. Важно отметить, что количество патентов связано с инновационной активностью сильнее, чем размер фирмы. Следовательно, опыт инновационной активности определяет расходы фирмы на НИОКР в большей степени, чем ее размер. В целом выводы о значимости переменных согласуются с теорией. Например, ликвидность также оказалась значима в статье (Теплых, 2015), размер фирмы значим в статье (Козлов и др., 2004). Однако финансовая независимость не попала в список переменных; такой вывод представляет интерес и является мотивацией к более глубокому изучению вопроса.

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

Заключение

Рассмотрим основные выводы исследования и их релевантность. Во-первых, особого внимания заслуживают результаты количественного анализа текстов. Востребованность компетенций, связанных с управлением внутренними процессами предприятия и базами данных, представляет интерес. Можно предположить, что главным направлением развития компаний в период 2003-2017 гг. была автоматизация внутренних процессов, включающих бухгалтерский и управленческий учет, коммуникацию с клиентами и поставщиками, риск-менеджмент, координацию работы подразделений фирмы. Результаты согласуются с выводами других авторов: например, Lavrynenko, Shmatko (2019) показали, что имеет место автоматизация таких сфер, как внутренний аудит, бухгалтерский учет, маркетинг, общение с клиентами. Современной конъюнктуре рынке труда присущи тренды, отражающие состояние экономики в целом: цифровизация и автоматизация процессов трансформируют спрос на рабочую силу. Несмотря на то, что первая гипотеза не подтвердилась, навыки, связанные с управлением базами данных, достаточно часто встречаются в вакансиях. Следовательно, особенности выборки компаний не искажают объективно существующие тенденции.

Во-вторых, важно заметить, что в соответствии с выводами теоретического обоснования достаточно востребованной группой навыков являлось программирование. Однако результаты настоящего исследования не свидетельствуют о популярности данной группы компетенций. Такое несоответствие объясняется различиями в классификации навыков, которая, в свою очередь, неразрывно связана с целями исследования. Исследовательский вопрос настоящей работы подразумевает как анализ рынка труда, так и изучение взаимосвязи инновационной активности со спросом компании на цифровые компетенции; как следствие, необходимо классифицировать только цифровые навыки. В исследованиях, посвященных непосредственно рынку труда, обычно группируются все навыки. То есть, под категорию «программирование» попадают компетенции, которые также можно отнести к управлению базами данных или к web-технологиям. Тем не менее, если обратить внимание на конкретные компетенции (например, владение языком HTML, ASP.NET, SQL), результаты настоящего исследования также не противоречат выводам других авторов. Также нужно заметить, что вышеописанная субъективность классификации может служить мотивацией для улучшения исследования, например, с помощью применения латентно-семантического анализа. Данный метод позволяет объективно классифицировать группы навыков и помогает повысить надежность выводов.

Несмотря на то, что выводы анализа вакансий не противоречат теории, необходимо обратить внимание на ограничения, связанные с содержанием выборки. Многие компании размещают объявления о работе на своих корпоративных сайтах или используют каналы внутреннего найма. Следовательно, невозможно полностью оценить спрос компании на компетенции. Таким образом, исследование может быть улучшено путем расширения выборки вакансий.

Качество анализа также может быть увеличено с помощью проверки значимости термов по всей выборке вакансий, например, используя метрику TF-IDF. Данный способ позволяет провести более глубокий анализ спроса на рынке труда и выявить более интересные закономерности.

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

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

Список использованных источников

1. Берман Н.Д. К вопросу о цифровой грамотности // Современные исследования социальных проблем. 2017. Т. 8. № 6-2. С. 35-38.

2. Гохберг Л.М. и др. Что такое цифровая экономика? Тренды, компетенции, измерение.: доклад к Апр. междунар. науч. конф. по проблемам развития экономики и общества, Москва, 9-12 апреля 2019 г.: Изд. дом НИУ ВШЭ, 2019.

3. Козлов К.К. и др. Инновационная активность российских фирм // Экономический журнал ВШЭ. 2004. Т. 8. № 3. С. 399-420.

4. Литвинцева Г.П. и др. Прогнозирование результатов инновационной деятельности с учетом значимых факторов в российских регионах // Проблемы прогнозирования. 2017. № 5. С. 88-97.

5. Макарова Л.Г. и др. Объекты НИОКР: Учет и отражение в финансовой отчетности в соответствии с российскими и международными стандартами // Международный бухгалтерский учет. 2012. № 11. С. 2-10.

6. Нугуманова А.Б. и др. Обогащение модели bag of words семантическими связями для повышения качества классификации текстов предметной области // Международный Журнал Программные Продукты И Системы. 2016. Т. 30. С. 89-99.

7. Разнодежина Э.Н. Человеческие ресурсы: их роль и значение // Управление экономическими системами: электронный научный журнал. 2011. Т. 1. № 25.

8. Ратникова Т.А. Введение в эконометрический анализ панельных данных // Экономический журнал ВШЭ. 2006. № 2. С. 267-315.

9. Теплых Г.В. Драйверы инновационной активности промышленных компаний в России // Прикладная эконометрика. 2015. Т. 2. № 38. С. 83-110.

10. Abramovsky L. et al. University research and the location of business R&D // The Economic Journal. 2007. № 117. P. 1-45.

11. Abramovsky L., Simpson H. Geographic Proximity and Firm-University Innovation Linkages: evidence from Great Britain // Journal of Economic Geography. 2011. V. 11. № 6. P. 949-977.

12. Aghion P. et al. Competition, Innovation and Growth in Transition: Exploring the Interactions between Policies // SSRN Electron. J. 2002. № 501.

13. Artйs J. Long-run versus short-run decisions: R&D and market structure in Spanish firms // Res. Policy. 2009. V. 38. № 1. P. 120-132.

14. Aw B.Y. et al. Export Market Participation, Investments in R&D and Worker Training, and the Evolution of Firm Productivity // World Econ. 2007. V. 30. № 1. P. 83-104.

15. Bond S. et al. Investment, R&D and financial constraints in Britain and Germany // Annales d'Йconomie et de Statistique. 2005. № 79/80. P. 433-460.

16. Breschi S. et al. Knowledge-relatedness in firm technological diversification // Res. Policy. 2003. V. 32. № 1. P. 69-87.

17. Chen W.R., Miller K.D. Situational and institutional determinants of firms' R&D search intensity // Strateg. Manag. J. 2007. V. 28. № 4. P. 369-381.

18. Clark K., Griliches Z. Productivity Growth and R&D at the Business Level: Results From the PIMS Data Base. Cambridge, MA: National Bureau of Economic Research, 1982.

19. Clark S.J., Houle B. Evaluation of Heckman Selection Model Method for Correcting Estimates of HIV Prevalence from Sample Surveys // Epidemiology (Cambridge, Mass.). 2012. V. 22. № 1. P. 27-35.

20. Cumming D.J., Macintosh J.G. The Determinants of R&D Expenditures: A Study of the Canadian Biotechnology Industry // Review of Industrial Organization. 2000. V. 17. № 4. P. 357-370.

21. Debortoli S. et al. Comparing Business Intelligence and Big Data Skills: A Text Mining Study Using Job Advertisements // Bus. Inf. Syst. Eng. 2014. V. 6. № 5. P. 289-300.

22. Gallavin M. et al. Changing Patterns in IT Skill Sets 1988-2003: a content analysis of classified advertisements // The Database for Advances Systems. 2004. V. 35.

23. Gezici A. et al. R&D activity and financing constraints: Evidence from Turkey // Panoeconomicus. 2018.

24. Goeman J. et al. L1 and L2 Penalized Regression Models // 2018. P. 1-20.

25. Griliches Z. Issues in Assessing the Contribution of Research and Development to Productivity Growth // Bell J. Econ. 1979. V. 10. № 1. P. 1-92.

26. Grzybowska K., Јupicka A. Key competencies for Industry 4.0. , 2017. P. 250-253.

27. Kleis L. et al. Information Technology and Intangible Output: The Impact of IT Investment on Innovation Productivity // Inf. Syst. Res. 2012. V. 23. № 1. P. 42-59.

28. Kwon H.U., Park J. R&D, Integration, and Foreign Ownership // RIETI discussion paper. 2013. P. 23.

29. Lai Y.L.et al. Factors affecting firm's R&D investment decisions // J. Bus. Res. 2015. V. 68. № 4. P. 840-844.

30. Landauer T.K. et al. An introduction to latent semantic analysis // Discourse Process. 1998. V. 25. № 2-3. P. 259-284.

31. Lavrynenko A., Shmatko N. Twenty-First Century Skills in Finance: Prospects for a Profound Job Transformation // Foresight and STI Governance. 2019. V. 13. № 2. P. 42-51.

32. Lavrynenko A. et al. Managing skills for open innovation: the case of biotechnology // Manag. Decis. 2018. V. 56. № 6. P. 1336-1347.

33. Lee C.K., Han H.J. Analysis of Skills Requirement for Entry-Level Programmer/Analysts in Fortune 500 Corporations // Journal of Information Systems Education. 2008. V. 1. № 19. P. 17-29.

34. Leiponen A. Skills and innovation // Int. J. Ind. Organ. 2005. V. 23. № 5-6. P. 303-323.

35. Litecky C. et al. Mining for Computing Jobs // IEEE Softw. 2010. V. 27. № 1. P. 78-85.

36. Machin S., Reenen J. van. Technology and Changes in Skill Structure: Evidence from Seven OECD Countries // The Quarterly Journal of Economics. 1998. V. 113. № 4. P. 1215-1244.

37. Markow W. et al. The New Foundational Skills of the Digital Economy. Washington, District of Columbia, 2018.

38. OECD. Frascati Manual 2002: Proposed Standard Practice for Surveys on Research and Experimental Development.: OECD, 2002.

39. Ouwersloot H., Rietveld P. The geography of R&D; tobit analysis and Bayesian approach to mapping R&D activities for The Netherlands // Tinbergen Institute Discussion Papers. 2000. № 00-043/3. P. 1-29.

40. Siepel J. et al. Skills combinations and firm performance // Small Bus. Econ. 2019.

41. Tibshirani R. Regression Shrinkage and Selection Via the Lasso // J. R. Stat. Soc. Ser. B Methodol. 1996. V. 58. № 1. P. 267-288.

42. Todd P.A. et al. The Evolution of IS Job Skills: A Content Analysis of IS Job Advertisements from 1970 to 1990 // MIS Q. 1995. V. 19. № 1. P. 1-27.

43. Wu D. et al. Digital Skills Toolkit. Geneva, Switzerland: ITU, 2018.

44. Wu L. et al. Nonnegative-lasso and application in index tracking // Comput. Stat. Data Anal. 2014. V. 70. P. 116-126.

Приложение 1

Цифровые навыки

Количество упоминаний цифровых навыков в вакансиях компаний

Навык

Количество упоминаний

Excel

16360

1C

8885

SAP

6991

SQL

4404

Oracle

3582

PowerPoint

2045

Access

1531

CRM

1467

AutoCAD

1462

Java

1094

Linux

873

Photoshop

609

JavaScript

607

Unix

602

HTML

571

XML

396

Python

371

CSS

352

ABAP

341

Axapta

324

HTTP

310

C++

308

ASP.NET

281

API

236

ARIS

234

Delphi

223

Git

186

Helpdesk

175

Apache

170

CorelDraw

115

AJAX

85

Django

77

Hadoop

76

Acrobat

73

AOP

66

ALM

51

Цифровые навыки можно разделить на следующие группы:

Управление базами данных:

MS Excel - программа подходит для выполнения широкого спектра задач и достаточно часто используется для хранения важных для компании данных;

SQL - язык управления базами данных для реляционных баз данных.;

Oracle - объектно-реляционная система управления базами данных;

MS Access - реляционная система управления базами данных.

Управление внутренними процессами фирмы:

1С - программный продукт, предназначенный для автоматизации бухгалтерского и управленческого учётов, экономической и организационной деятельности предприятия;

SAP - программное обеспечение, предназначенное для автоматизации управления персоналом и складами, производства, финансов, торговли и бухгалтерского учета;

ABAP - язык программирования в среде SAP;

CRM - система автоматизации внутренних процессов компании;

Axapta - программа для автоматизации внутренних процессов компании;

ARIS - ПО для моделирования внутренних процессов организации;

Helpdesk - система автоматизации взаимодействия с клиентами.

Разработка и поддержка операционных систем:

Linux - семейство операционных систем;

Unix - семейство многопользовательских операционных систем;

Web-технологии:

JavaScript - язык программирования, используется в web-разработке;

HTML - язык разметки документов в Web, используется для отображения данных;

XML - расширяемый язык разметки, используется для хранения и передачи данных;

HTTP - протокол передачи данных;

CSS - язык таблицы стилей, позволяет выборочно применять стили к элементам в HTML-документах;

API - набор функций, определяющих правила взаимодействия пользователя с программой;

ASP.NET - платформа разработки web-приложений;

AJAX - подход к созданию web-приложений;

Apache - веб-сервер, устанавливает соединение между сервером и браузером посетителей;

Django - фреймворк (набор компонентов для разработки) для web-приложений;

Графические редакторы и моделирование:

AutoCAD - система автоматизированного проектирования и черчения;

Photoshop - графический редактор;

CorelDraw - графический редактор;

Acrobat - пакет программ, предназначенный для создания и просмотра электронных публикаций в формате PDF.

Программирование (парадигмы и многозадачные языки):

Java - объектно-ориентированный язык программирования;

Python - язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода;

C++ - язык программирования общего назначения;

Delphi - среда разработки программного обеспечения;

AOP - аспектно-ориентированное программирование - парадигма программирования;

Другое:

PowerPoint - программа для создания презентаций;

Git - распределенная система управления версиями, используется для совместной разработки ПО;

Hadoop - файловая система и набор инструментов для обработки больших данных;

ALM - система для обеспечения управления процессами контроля качества на всех этапах разработки ПО.

Для проверки второй гипотезы необходимо выделить компетенции, связанные с анализом данных. К ним можно отнести Excel и Python.

Приложение 2

Команды языка Python

import pandas as pd

import numpy as np

import string

from nltk.corpus import stopwords

import nltk

from nltk.stem.snowball import SnowballStemmer

import re

import matplotlib.pyplot as plt

# Импортируем данные

ads = pd.read_csv('C:\\Users\\Ekaterina\\Desktop\\scripts\\ads_data.csv')

stemmer = SnowballStemmer('russian')

# Функция токенизации и стемминга для русскоязычного текста

number_pattern = re.compile(r'\b(?:%s)\b' % '|'.join([r'\d+\.\d+', '\d+\:\d+', '\d+']))

CatchedStopWords = stopwords.words(['russian', 'english'])

CatchedStopWords.extend(['что', 'это', 'так', 'вот', 'быть', 'как', 'в', '--', 'к',

'на', ' ', 'г.', 'крайне', 'желателен', '_', '-', '',

'2-3', '1-2', '._', 'c', 'млн', 'опыт', 'работы',

'требования', 'компания', '/', 'год', '2-х', 'лет', '2.',

'3.', '"', '5.', '4.', '6.', "'", '20-25', 'and', 'of',

'the', "''", "``", 'высшее', '*', 'рф', '1', '2', '5/2',

'дмс', 'заработн', '000', '3', '3-х', '5', 'a', 'for', 'in',

'is', 'on', 'to', 'with', '.', '3-x', '2/2', '10', '100',

'18', '18.00', '18:00', '20', '25','28', '30', '35', '4',

'40', '50', '6', '7', '8', '9', '9.00', '9:00', '_на_менеджер',

'', number_pattern])

def tokenize_and_stem(file_text):

# токенизация

tokens = nltk.word_tokenize(file_text)

# удаляем пунктуацию

tokens = [i for i in tokens if (i not in string.punctuation)]

# удаляем стоп-слова

tokens = [i for i in tokens if (i not in CatchedStopWords)]

# чистим кавычки

tokens = [i.replace("«", "").replace("»", "") for i in tokens]

# стемминг

stems = [stemmer.stem(i) for i in tokens]

return stems

# Матрица с количеством слов

from sklearn.feature_extraction.text import CountVectorizer

count = CountVectorizer(max_features=10000,tokenizer=tokenize_and_stem, max_df=0.8)

count_matrix = count.fit_transform([x for x in ads['desc_skills']])

# Матрица словаря для сортировки по количеству упоминаний

count_matrix_freq = np.asarray(count_matrix.sum(axis=0)).ravel()

count_final_matrix = pd.DataFrame([np.array(count.get_feature_names()), count_matrix_freq])

count_final_matrix = count_final_matrix.transpose()

count_df = pd.DataFrame(count_matrix.A, columns=count.get_feature_names())

# Релевантные (цифровые) навыки

dig_skills = count_df[['abap', 'access', 'acrobat', 'ajax', 'alm', 'aop', 'apache',

'api', 'aris', 'asp.net', 'autocad', 'axapta',

'c++', 'coreldraw', 'crm', 'css', 'delphi', 'django',

'excel', 'git', 'hadoop', 'helpdesk', 'html', 'http',

'word', '1с', 'sap', 'sql', 'outlook', 'oracle', 'powerpoint',

'java', 'photoshop', 'javascript', 'linux', 'unix', 'ехсел',

'xml', 'python', 'mysql', 'pl\sql']]

count_final_matrix.set_index(0, inplace=True)

dig_skills_count = count_final_matrix.loc[['abap', 'access', 'acrobat', 'ajax', 'alm', 'aop', 'apache',

'api', 'aris', 'asp.net', 'autocad', 'axapta',

'c++', 'coreldraw', 'crm', 'css', 'delphi', 'django',

'excel', 'git', 'hadoop', 'helpdesk', 'html', 'http',

'word', '1с', 'sap', 'sql', 'outlook', 'oracle', 'powerpoint',

'java', 'photoshop', 'javascript', 'linux', 'unix', 'ехсел',

'xml', 'python', 'mysql', 'pl\sql'], :]

dig_skills['sql'] = dig_skills[['sql', 'mysql', 'pl\sql']].sum(axis=1)

dig_skills['excel'] = dig_skills[['excel', 'ехсел']].sum(axis=1)

dig_skills = dig_skills.drop(['mysql', 'pl\sql', 'ехсел'], axis=1)

# Добавляем остальные данные

fin_data = pd.read_csv('C:\\Users\\Ekaterina\\Desktop\\scripts\\data.csv')

df = fin_data.merge(dig_skills, left_index=True, right_index=True)

df = df.drop(['desc_skills', 'description'], axis=1)

# Фильтруем по году (Раньше 2007-ого года и в 2018 абсолютно все финансовые переменные - NA)

df = df[(df['Year'] > 2007) & (df['Year'] < 2018)]

# Удаляем повторяющиеся employer_id2 - дочерние компании

df = df[(df['Название BvD'] != 'LIMITED LIABILITY COMPANY DANONE UNIMILK TRADE') &

(df['Название BvD'] != 'THE LIMITED LIABILITY COMPANY DANONE INDUSTRIA , : DANONE INDUSTRIA LLC') &

(df['Название BvD'] != 'MEZHDUNARODNYI AVTOMOBILNYI KHOLDING ATLANT-M') &

(df['Название BvD'] != 'CLOSED JOINED STOCK COMPANY STROYTRANSGAZ') &

(df['Название BvD'] != 'NOKIAN SHINA LTD.') &

(df['Название BvD'] != 'GRUPPA KOMPANII RUSAGRO') &

(df['Название BvD'] != 'JOINT STOCK COMPANY EVRAZ CONSOLIDATED WEST SIBERIAN METALLURGICAL PLANT') &

(df['Название BvD'] != 'JOINT STOCK COMPANY KOMPANIYA ADAMAS') &

(df['Название BvD'] != 'VOSTOCHNYI EKSPRESS BANK') &

(df['Название BvD'] != 'ATOMSTROYEXPORT') &

(df['Название BvD'] != 'OOO BSH BYTOWAJA TECHNIKA') &

(df['Название BvD'] != 'FARM-LOGISTIK') &

(df['Название BvD'] != 'FORD SOLLERS ELABUGA LIMITED LIABILITY COMPANY') &

(df['Название BvD'] != 'SOLLERS JSC') &

(df['Название BvD'] != 'AIRBRIDGECARGO AIRLINES LLC') &

(df['Название BvD'] != 'UGMK HOLDING CORPORATION') &

(df['Название BvD'] != 'SOCIETE A RESPONSABILITE LIMITEE PEUGEOT CITROEN RUS') &

(df['Название BvD'] != 'MITSUBISHI MOTORS RUS LIMITED LIABILITY COMPANY') &

(df['Название BvD'] != 'JSC SODRUGESTVO-SOY') &

(df['Название BvD'] != 'GEMERAL MOTORS AUTO LLC') &

(df['Название BvD'] != 'AKTSIONERNOE OBSHCHESTVO KRASNOYARSKAYA GES') &

(df['Название BvD'] != 'JOINT STOCK COMPANY NOVOSIBIRSKENERGO') &

(df['Название BvD'] != 'JOINT STOCK COMPANY ROSTSELMASH') &

(df['Название BvD'] != 'JSOLLERS-BUSSAN, LIMITED LIABILITY COMPANY') &

(df['Название BvD'] != 'SOLLERS-BUSSAN, LIMITED LIABILITY COMPANY')]

# Описание данных

X = df[['Year', 'employer_id2', 'c_patents', 'f_empl', 'c_empl', 'f_sh_funds',

'f_assets', 'f_ebt', 'f_current_assets', 'f_current_liab', 'f_sales', 'f_intangible',

'm_value', 'own_direct_gov', 'own_direct_for', 'abap', 'access', 'acrobat', 'ajax', 'alm', 'aop', 'apache',

'api', 'aris', 'asp.net', 'autocad', 'axapta',

'c++', 'coreldraw', 'crm', 'css', 'delphi', 'django',

'excel', 'git', 'hadoop', 'helpdesk', 'html', 'http',

'word', '1с', 'sap', 'sql', 'outlook', 'oracle', 'powerpoint',

'java', 'photoshop', 'javascript', 'linux', 'unix',

'xml', 'python']]

# Проверим NA

X.isna().sum()

# Удалим переменные с большим количеством NA

mask = X.isna().sum() / len(X) < 0.5

X = X.loc[:, mask] # Удалилась переменная рыночной капитализации

# Заполняем NA

for x in X['employer_id2'].drop_duplicates():

for column in X.columns[2:]:

X[column][X['employer_id2'] == x] = X[column][X['employer_id2'] == x].astype(float).interpolate(method='linear', limit_direction='both')

X.isna().sum()

# Выбросы

X[['c_patents', 'f_empl', 'c_empl', 'f_sh_funds',

'f_assets', 'f_ebt', 'f_current_assets', 'f_current_liab', 'f_sales', 'f_intangible',

'own_direct_gov', 'own_direct_for']].describe()

X = X[(X['f_sales'] != 0) & (X['f_current_assets'] != 0) & (X['f_sh_funds'] > 0)]

# Создание переменных

X['empl_f'] = X['f_empl'] / X['c_empl'] # Качество рабочей силы - расходы на работника

X['fin_indep'] = X['f_sh_funds'] / X['f_assets'] # Финансовая независимость

X['profitability'] = X['f_ebt'] / X['f_sales'].shift(1) # Рентабельность, Доля прибыли до налогообложения в выручке за прошлый год

X['liquidity'] = (X['f_current_assets'] - X['f_current_liab']) / X['f_assets'] # Доля чистого оборотного капитала в активах компании

to_drop = ['f_empl', 'c_empl', 'f_sh_funds', 'f_assets', 'f_ebt', 'f_current_assets', 'f_current_liab']

X = X.drop(to_drop, axis=1)

X = X.replace([np.inf, -np.inf], np.nan)

y = df['f_rd_inv']

y = y.replace(np.nan, 0) # NA в НИОКР - нули

# Проверим корреляцию между переменными

corr = X.corr()

corr_matrix = X.corr().abs()

mask = np.triu(np.ones_like(corr_matrix, dtype=bool))

# У Word, Excel и Outlook довольно высокие парные коэффициенты корреляции

# Word и Outlook относится к базовым цифровым навыкам, поэтому стоит удалить эти переменные.

# Вполне очевидно, что в современном мире всем необходимо уметь пользоваться почтой и word'ом.

X_reduced = X.drop(['outlook', 'word'], axis=1)

# Подчищаем

X_reduced = X_reduced.dropna()

y_reduced = y[X_reduced.index]

X_reduced = X_reduced.drop(['Year', 'employer_id2'], axis=1)

# Фитим Лассо

from sklearn.preprocessing import StandardScaler

from sklearn.pipeline import Pipeline

from sklearn.linear_model import LassoCV

from sklearn.model_selection import train_test_split

# Steps для Pipeline

steps = [('scaler', StandardScaler()),

('lasso', LassoCV(cv=1000, random_state=1111, positive=True))]

# Создаем pipeline

pipeline = Pipeline(steps)

X_train, X_test, y_train, y_test = train_test_split(X_reduced, y_reduced, test_size=0.2,

random_state=42)

lassocv_scaled = pipeline.fit(X_train, y_train)

# R^2 на тестовой выборке

print('Accuracy with Scaling: {}'.format(lassocv_scaled.score(X_test, y_test)))

lcv_mask = (lassocv_scaled['lasso'].coef_ != 0) & (lassocv_scaled['lasso'].coef_ != -0)

print('{} features out of {} selected'.format(sum(lcv_mask), len(lcv_mask)))

# Словарь для отобранных коэффициентов

coef_dict = {}

for coef, feat in zip(lassocv_scaled['lasso'].coef_, X_reduced.columns[lcv_mask]):

coef_dict[feat] = coef

lassocv_scaled['lasso'].intercept_

print('Optimal alpha = {0:.3f}'.format(lassocv_scaled['lasso'].alpha_))

lassocv_scaled['lasso'].get_params()

lassocv_scaled.score(X_train, y_train)

Приложение 3

Команды языка R

library(zoo)

library(PerformanceAnalytics)

library(dplyr)

library(readxl)

library(tidyr)

library(stringr)

library(ggplot2)

library(lmtest)

library(stargazer)

library('glmnet')

company_list = read_xlsx('C:/Users/Ekaterina/Desktop/data/Список компаний (Grisha).xlsx')

fin_var = read_xlsx('C:/Users/Ekaterina/Desktop/data/_Data_10_12_18.xlsx')

ads = readRDS('C:/Users/Ekaterina/Desktop/data/toy_dataset_for_kolobov.rds')

# выделить год в ads (published)

# сгруппировать по фирме-году

# присоединить ads к company list: employer.id + employer.id2

# присоединить fin_var по номеру BvD

# Выделяем год в датасете с вакансиями

adsep = separate(ads, published_at, sep = '-', into = c('year', 'date', 'time'))

ads = select(adsep, -c('date', 'time'))

job_ads = select(ads, c('year','employer.id','desc_skills', 'description'))

# Группируем по году-фирме

ads_grouped = job_ads %>%

group_by(year, employer.id) %>%

summarise_all(funs(paste(na.omit(.), collapse = " ")))

colnames(ads_grouped) = c('year', 'employer_id2','desc_skills', 'description')

ads_grouped$key = paste(ads_grouped$year, ads_grouped$employer_id2)

ads_grouped$year = as.numeric(ads_grouped$year)

df_to_count_ads = merge(company_list, job_ads, by.x = "employer_id2", by.y="employer.id")

df_to_count_ads = df_to_count_ads[complete.cases(df_to_count_ads$desc_skills, df_to_count_ads$description),]

# Объединяем со списком компаний

ads_companylist = merge(company_list, ads_grouped, by = 'employer_id2', all.x = T)

ads_companylist = ads_companylist[complete.cases(ads_companylist$desc_skills, ads_companylist$description),] # убираем NA в вакансиях

names(ads_companylist)[names(ads_companylist) == 'year'] = "Year"

names(ads_companylist)[names(ads_companylist) == 'Номер BvD'] = "ID_BvD"

# Объединяем с данными о финансовых показателях компании

da = merge(ads_companylist, fin_var, by = c('Year', 'ID_BvD'), all.x = T)

summary(da)

# Выбираем (контрольные) переменные

df = select(da, c('Year', 'employer_id2', 'Название BvD', 'desc_skills', 'description', 'ind_nace', 'ind_nace_name', 'c_patents', 'f_sales', 'f_ebt', 'f_net_income', 'f_fixed_assets', 'f_intangible', 'f_assets', 'f_sh_funds', 'f_nc_liab', 'f_current_liab', 'f_current_assets', 'c_empl',

'f_empl', 'f_rd_inv', 'm_value', 'own_direct_gov', 'own_direct_for'))

summary(df)

adv_desc = select(df, c('Year', 'employer_id2', 'Название BvD', 'desc_skills'))

# Экспорт

write.csv(df,"*D:\\scripts\\data.csv", row.names = TRUE)

write.csv(adv_desc,"*D:\\scripts\\ads_data.csv", row.names = TRUE, fileEncoding = "UTF-8")

# Импортируем тренировочную и тестовую выборки из Python

X_train = read.csv('C:\\Users\\Ekaterina\\Desktop\\scripts\\X_train.csv', row.names='X')

X_test = read.csv('C:\\Users\\Ekaterina\\Desktop\\scripts\\X_test.csv', row.names='X')

y_train = read.csv('C:\\Users\\Ekaterina\\Desktop\\scripts\\y_train.csv', header = F, row.names = 'V1')

y_test = read.csv('C:\\Users\\Ekaterina\\Desktop\\scripts\\y_test.csv', header = F, row.names = 'V1')

train = read.csv('C:\\Users\\Ekaterina\\Desktop\\scripts\\train.csv', row.names='X')

test = read.csv('C:\\Users\\Ekaterina\\Desktop\\scripts\\test.csv', row.names='X')

train['r_ds_bin'] = ifelse(train$f_rd_inv > 0, 1, 0)

test['r_ds_bin'] = ifelse(test$f_rd_inv > 0, 1, 0)

# Стандартизируем переменные для OLS (для дальнейшего сравнения с LASSO)

scaled_train = as.data.frame(scale(data.frame(train)))

scaled_train['f_rd_inv'] = train['f_rd_inv']

scaled_test = as.data.frame(scale(data.frame(test)))

scaled_test['f_rd_inv'] = test['f_rd_inv']

# Вспомогательные переменные для построения LASSO

X0=model.matrix(data=train, f_rd_inv~0+c_patents+f_sales+f_intangible+own_direct_gov+own_direct_for+abap+access+acrobat+ajax+alm+aop+apache+api+aris+asp.net+autocad+axapta+c..+coreldraw+crm+css+delphi+django+excel+hadoop+helpdesk+html+http+X1СЃ+sap+sql+oracle+powerpoint+java+photoshop+javascript+linux+unix+xml+python+empl_f+fin_indep+profitability+liquidity)

X1=model.matrix(data=test, f_rd_inv~0+c_patents+f_sales+f_intangible+own_direct_gov+own_direct_for+abap+access+acrobat+ajax+alm+aop+apache+api+aris+asp.net+autocad+axapta+c..+coreldraw+crm+css+delphi+django+excel+hadoop+helpdesk+html+http+X1СЃ+sap+sql+oracle+powerpoint+java+photoshop+javascript+linux+unix+xml+python+empl_f+fin_indep+profitability+liquidity)

# Описательные характеристики

hist(y_train$V2, main='Распределение зависимой переменной', xlab="Расходы на НИОКР (млн руб.)", ylab = "Частота", breaks=50, xlim=range(0,5000), ylim=range(0,50))

hist(X_train$c_patents, main='Распределение патентов', xlab="Количество патентов",ylab = "Частота", breaks=50, xlim=range(0,1800), ylim=range(0,100))

hist(X_train$f_sales, main='Распределение выручки', xlab="Выручка (млн руб.)",ylab = "Частота", breaks=500, xlim=range(0,700000), ylim=range(0,600))

library(ggcorrplot)

p.mat <- cor_pmat(X_train[c('f_sales','c_patents','f_intangible','own_direct_gov','own_direct_for','aop','aris','autocad','coreldraw','excel','X1СЃ','sap','sql','powerpoint','javascript','liquidity')])

X_train %>%

dplyr::select('f_sales','c_patents','f_intangible','own_direct_gov','own_direct_for','aop','aris',

'autocad','coreldraw','excel','X1СЃ','sap','sql','powerpoint','javascript','liquidity') %>%

cor() %>%

ggcorrplot(title = "Корреляционная матрица", lab=TRUE, p.mat = p.mat, sig.level = .1)

#Уравнение

lambdas = seq(50, 0.1, length = 30)

eq_nonneg = glmnet(X0, y_train$V2, alpha=1, lambda=1.296, standardize = TRUE, lower.limits = 0)

eq_nonneg_graph = glmnet(X0, y_train$V2, alpha=1, lambda=lambdas, standardize = TRUE, lower.limits = 0)

coef(eq_nonneg)

eq_nonneg$dev.ratio

resids_test=y_test$V2 - predict(eq_nonneg, newx = X1)

r_sq_test = 1 - sum(resids_test^2) / sum((y_test$V2 - mean(y_test$V2))^2)

plot(eq_nonneg_graph, xvar="lambda", ylim=range(0,105), xlim=range(0, 0.26), label=TRUE)

# OLS

e1 <-lm(f_rd_inv~c_patents+f_sales+f_intangible+own_direct_gov+own_direct_for+abap+access+acrobat+

ajax+alm+aop+apache+api+aris+asp.net+autocad+axapta+c..+coreldraw+crm+css+delphi+django+excel+hadoop+helpdesk+html+http+X1СЃ+sap+sql+oracle+powerpoint+java+photoshop+javascript+linux+unix+xml+python+empl_f+fin_indep+profitability+liquidity, data=scaled_train)

stargazer(e1, type='text')

Размещено на Allbest.ru


Подобные документы

  • Понятие инновации и инновационного процесса. Оценка инновационной активности предприятий. Анализ динамики затрат и структуры инвестиций в инновационную деятельность, выявление их тенденций. Особенности статистического изучения инновационной деятельности.

    курсовая работа [99,9 K], добавлен 02.12.2014

  • Сущность, функции и значение инновационных компаний в процессе модернизации экономики страны. Европейский опыт развитития инновационных компаний при ВУЗах. Пути повышения эффективности инновационной деятельности ВУЗов и компаний, создаваемых при ВУЗах.

    дипломная работа [365,2 K], добавлен 21.05.2013

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

    дипломная работа [2,5 M], добавлен 08.04.2015

  • Понятие инновационной деятельности. Инновационная модель развития и формы ее финансово-инвестиционного обеспечения. Факторы повышения инновационной активности в сфере энергетики. Анализ эффективности инновационных проектов на примере ОАО "Роснефть".

    дипломная работа [1,2 M], добавлен 30.07.2017

  • Анализ экономической роли малых инновационных компаний в технологической сфере. Становление инновационной инфраструктуры в развитых зарубежных странах. Процесс создания и становления инновационной инфраструктуры в России, правовая и налоговая поддержка.

    дипломная работа [1,5 M], добавлен 28.12.2015

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

    курсовая работа [896,2 K], добавлен 12.02.2012

  • Рыночный спрос: экономическая сущность. Рынок и закон спроса. Изменение спроса. Спрос на ресурсы. Эластичность спроса. Спрос и предложение. Взаимосвязь спроса и предложения. Экономический кругооборот. Влияние спроса на экономику фирмы.

    курсовая работа [52,8 K], добавлен 23.06.2003

  • Спрос и предложение на рынках как важнейшая категория микроэкономического анализа. Закон спроса, факторы его изменения. Ценовая эластичность спроса. Факторы изменения предложения, его эластичность. Установление равновесной цены по Вальрасу и Маршаллу.

    курсовая работа [510,5 K], добавлен 25.02.2010

  • Понятие и характеристика спроса. Закон спроса, основные факторы, влияющие на него. Функции и способы представления спроса, сдвиг его линии. Характеристика предложения, его закон и факторы влияния на него. Индивидуальные и рыночные спрос и предложение.

    презентация [31,4 K], добавлен 30.04.2014

  • Понятие спроса и его отличия от понятия величины спроса. Сущность товара Гиффена и порядок определения спроса на него. Жилье и его характерные признаки, способы его применения. Основные факторы, определяющие спрос на жилье на рынке недвижимости.

    доклад [13,8 K], добавлен 29.10.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.